Drive Activity API का डेटा मॉडल

इस गाइड में, Google Drive Activity API में रिस्पॉन्स के मुख्य कॉम्पोनेंट के बारे में बताया गया है. वीडियो में, उदाहरण के साथ-साथ उन्हें समझने का तरीका भी बताया गया है.

ऑब्जेक्ट

  • DriveActivity—यह यह मुख्य संसाधन होता है. इसे Drive Activity API पर क्वेरी के ज़रिए भेजा जाता है. यह ऐसा कॉन्टेंट जिसमें एक या उससे ज़्यादा अभिनेताओं ने एक या एक से ज़्यादा ऐसी गतिविधियां की हों जिनका असर एक या टारगेट के तौर पर सेट करें.

  • Timestamp और TimeRange—ये जब गतिविधि की जानकारी दी जाती है, तो उस समय के लिए एक हुआ या इस अवधि के दौरान गतिविधि के शुरू और खत्म होने का समय समय.

  • Actor—आम तौर पर, Actor असली उपयोगकर्ता. हालांकि, कभी-कभी, सिस्टम इवेंट किसी Action जब कोई एडमिन या खुद के रूप में या किसी ऐसे व्यक्ति ने की हो जिसकी पहचान न की जा सके. कॉन्टेंट बनाने Actor मैसेज में, ये सभी मामले शामिल होते हैं.

  • TargetTarget ऑब्जेक्ट होता है कोई गतिविधि होती है. जैसे, कोई फ़ाइल, फ़ोल्डर, शेयर की गई ड्राइव या फ़ाइल पर की गई टिप्पणी. ध्यान दें कि कार्रवाई के कई टाइप, एक से ज़्यादा तरह के टारगेट के साथ काम करते हैं. इसके लिए उदाहरण के लिए, हालांकि Edit आम तौर पर Drive की फ़ाइलों पर लागू होता है, Rename और Create जैसी कार्रवाइयां, Drive पर भी लागू की जा सकती हैं शेयर की गई ड्राइव और फ़ोल्डर. ऐसे टारगेट जो Drive आइटम नहीं हैं उसमें अब भी फ़ोल्डर का संदर्भ हो सकता है. जैसे, किसी ड्राइव या पैरंट फ़ोल्डर का रूट फ़ोल्डर दस्तावेज़ में फ़ाइल टिप्पणी शामिल है.

  • Action—हर DriveActivity संसाधन में एक या उससे ज़्यादा संबंधित कार्रवाइयाँ हैं. Action में पूरी जानकारी होती है, पसंद है event, क्योंकि इसमें न सिर्फ़ इवेंट का पूरा ब्यौरा और टाइप और कार्रवाई के बारे में है, लेकिन साथ ही एक Actor, Target और Timestamp या TimeRange. रिडंडंसी से बचने के लिए, Action अपने-आप जानकारी नहीं भरता Target, Actor या टाइम फ़ील्ड, जब वे सभी कॉलम से मेल खाते हों DriveActivity.

  • ActionDetail—यह Action के बारे में खास तरह की और पूरी जानकारी. उदाहरण के लिए, Move कार्रवाई की जानकारी में, सोर्स और डेस्टिनेशन की जगह की जानकारी और PermissionChange से पता चलता है कि अब दस्तावेज़ को कौन और किस तरह से ऐक्सेस कर सकता है खास अधिकारों को ऐक्सेस करना होगा.

रिस्पॉन्स के उदाहरण

किसी उपयोगकर्ता ने Drive में मौजूद एक फ़ाइल में बदलाव किया:

किसी सामान्य DriveActivity संसाधन में, सिर्फ़ एक कार्रवाई शामिल हो सकती है, जैसे कि कोई उपयोगकर्ता एक फ़ाइल में बदलाव करना.

"activities":[{
  "primary_action_detail":{ "edit":{} },
  "actors":[ { "user":{ "known_user":{ "person_name":"people/ACCOUNT_ID" } } } ],
  "targets":[ { "drive_item":{ "name":"items/ITEM_ID", "title":"TITLE", "file":{} } } ],
  "timestamp":{ "seconds":"1536794657", "nanos":791000000 },
  "actions":[ { "detail":{ "edit":{} } } ]
}]

इस आउटपुट में ये वैल्यू शामिल होती हैं:

  • ACCOUNT_ID: उपयोगकर्ता का आईडी. इसका इस्तेमाल People API का इस्तेमाल करके, ज़्यादा जानकारी पाएं.
  • ITEM_ID: Drive में मौजूद आइटम का आईडी.
  • TITLE: Drive में मौजूद आइटम का टाइटल.

ध्यान दें कि इस जवाब के Action में Actor, Target, या TimeStamp क्योंकि वे कुल DriveActivity के समान हैं.

दो उपयोगकर्ताओं ने एक ही फ़ाइल में एक ही समय पर बदलाव किए हैं:

डेटा इकट्ठा करने की सुविधा चालू होने पर, मिलती-जुलती कार्रवाइयों को एक ग्रुप में रखा जाता है DriveActivity. इस उदाहरण में, दो मिलती-जुलती कार्रवाइयों को ग्रुप किया गया है: एक Edit कार्रवाई टाइप पर क्लिक करें.

"activities":[{
  "primary_action_detail":{ "edit":{} },
  "actors":[
    { "user":{ "known_user":{ "person_name":"people/ACCOUNT_ID_1" } } },
    { "user":{ "known_user":{ "person_name":"people/ACCOUNT_ID_2" } } }
  ],
  "targets":[
    { "drive_item":{ "name":"items/ITEM_ID", "title":"TITLE", "file":{} } }
  ],
  "time_range":{
    "start_time":{ "seconds":"1541089823", "nanos":712000000 },
    "end_time":{ "seconds":"1541089830", "nanos":830000000 }
  },
  "actions":[
    {
      "detail":{ "edit":{} },
      "actor":{ "user":{ "known_user":{ "person_name":"people/ACCOUNT_ID_1" } } },
      "timestamp":{ "seconds":"1541089830", "nanos":830000000 }
    },
    {
      "detail":{ "edit":{} },
      "actor":{ "user":{ "known_user":{ "person_name":"people/ACCOUNT_ID_2" } } },
      "timestamp":{ "seconds":"1541089823", "nanos":712000000 }
    }
  ]
}]

इस आउटपुट में ये वैल्यू शामिल होती हैं:

  • ACCOUNT_ID_1: पहले उपयोगकर्ता का आईडी. इसका इस्तेमाल इनके साथ किया जा सकता है People API का इस्तेमाल करके ज़्यादा जानकारी पाएं.
  • ACCOUNT_ID_2: दूसरे उपयोगकर्ता का आईडी.
  • ITEM_ID: Drive में मौजूद आइटम का आईडी.
  • TITLE: Drive में मौजूद आइटम का टाइटल.

ध्यान दें कि इस जवाब की कार्रवाइयों में Target शामिल नहीं है, क्योंकि यह कुल DriveActivity की तरह ही है.

उदाहरण यह भी दिखाता है कि ऐप्लिकेशन, अलग-अलग कार्रवाइयों को देखे बिना, DriveActivity. जवाब यह बताता है कि दो उपयोगकर्ताओं ने दी गई फ़ाइल में लंबे समय तक बदलाव किया है.

किसी उपयोगकर्ता ने दो फ़ाइलों को नई डायरेक्ट्री में ले जाया है:

इस उदाहरण में, इकट्ठा करने की रणनीति में दो मिलती-जुलती Move कार्रवाइयों को ग्रुप किया गया क्योंकि फ़ाइलों को उसी स्रोत से एक ही गंतव्य पर ले जाया गया था एक साथ.

"activities":[{
  "primary_action_detail":{
    "move":{
      "added_parents":[ { ... } ]
      "removed_parents":[ { ... } ]
    }
  },
  "actors":[ { "user":{ "known_user":{ "person_name":"people/ACCOUNT_ID" } } } ],
  "targets":[
    { "drive_item":{ "name":"items/ITEM_ID_1", "title":"TITLE_1", "file":{} } },
    { "drive_item":{ "name":"items/ITEM_ID_2", "title":"* TITLE_2", "file":{} } }
  ],
  "timestamp":{ "seconds":"1541090960", "nanos":985000000 },
  "actions":[
    {
      "detail":{ "move":{ "added_parents":[ { ... } ] "removed_parents":[ { ... } ] } },
      "target":{ "drive_item":{ "name":"items/ITEM_ID_1", "title":"TITLE_1", "file":{} } }
    },
    {
      "detail":{ "move":{ "added_parents":[ { ... } ] "removed_parents":[ { ... } ] } },
      "target":{ "drive_item":{ "name":"items/ITEM_ID_2", "title":"* TITLE_2", "file":{} } }
    }
  ]
}]

इस आउटपुट में ये वैल्यू शामिल होती हैं:

  • ACCOUNT_ID: उपयोगकर्ता का आईडी. इसका इस्तेमाल People API का इस्तेमाल करके, ज़्यादा जानकारी पाएं.
  • ITEM_ID_1: Drive के पहले आइटम का आईडी.
  • ITEM_ID_2: Drive के दूसरे आइटम का आईडी.
  • TITLE_1: Drive में मौजूद पहले आइटम का टाइटल.
  • TITLE_2: Drive के दूसरे आइटम का टाइटल.

ध्यान दें कि इस जवाब की कार्रवाइयों में Actor या TimeStamp शामिल नहीं हैं क्योंकि वे कुल DriveActivity के समान हैं.