ข้อความ Push

เอกสารนี้จะอธิบายวิธีใช้ข้อความ Push ที่จะให้ข้อมูล เมื่อมีการเปลี่ยนแปลงทรัพยากร

ภาพรวม

Admin SDK API จะแสดงข้อความ Push ที่ให้คุณตรวจสอบได้ ความเปลี่ยนแปลงในทรัพยากร คุณสามารถใช้ฟีเจอร์นี้เพื่อปรับปรุงประสิทธิภาพของ แอปพลิเคชันของคุณ ซึ่งช่วยให้คุณกำจัดเครือข่ายและการประมวลผลเพิ่มเติม ค่าใช้จ่ายที่เกี่ยวข้องกับทรัพยากรที่ใช้ในการสำรวจเพื่อพิจารณาว่ามีการเปลี่ยนแปลงหรือไม่ เมื่อใดก็ตามที่ทรัพยากรที่ดูมีการเปลี่ยนแปลง Admin SDK API จะแจ้ง แอปพลิเคชัน

หากต้องการใช้ข้อความ Push คุณต้องดำเนินการ 2 อย่างต่อไปนี้

  • ตั้งค่า URL การรับหรือ "เว็บฮุค" Callback Receiver

    ช่วงเวลานี้ เป็นเซิร์ฟเวอร์ HTTPS ที่จัดการข้อความแจ้งเตือน API ที่ ทริกเกอร์เมื่อทรัพยากรเปลี่ยนแปลง

  • ตั้งค่า (ช่องทางการแจ้งเตือน) สำหรับปลายทางของทรัพยากรแต่ละรายการที่ต้องการ ดู

    ช่องทางระบุข้อมูลการกำหนดเส้นทางสำหรับการแจ้งเตือน ข้อความ ในการตั้งค่าช่อง คุณต้องระบุ URL ที่เจาะจงซึ่ง ที่ต้องการรับการแจ้งเตือน เมื่อใดก็ตามที่ทรัพยากรของช่องมีการเปลี่ยนแปลง Admin SDK API จะส่งข้อความแจ้งเตือนเป็น POST ไปยัง URL นั้น

ในปัจจุบัน Admin SDK API รองรับการแจ้งเตือนเมื่อมีการเปลี่ยนแปลง ทรัพยากรกิจกรรม

สร้างช่องทางการแจ้งเตือน

หากต้องการขอข้อความ Push คุณต้องตั้งค่าช่องทางการแจ้งเตือน สำหรับทรัพยากรแต่ละรายการที่ต้องการตรวจสอบ หลังจากตั้งค่าช่องทางการแจ้งเตือนแล้ว Admin SDK API จะแจ้งให้แอปพลิเคชันทราบเมื่อทรัพยากรที่มีการรับชม การเปลี่ยนแปลง

สร้างคำขอดูนาฬิกา

ทรัพยากร Admin SDK API ที่ดูได้แต่ละรายการมีการเชื่อมโยง watch ที่ URI ในรูปแบบต่อไปนี้

https://www.googleapis.com/API_NAME/API_VERSION/RESOURCE_PATH/watch

วิธีตั้งค่าช่องทางการแจ้งเตือนสำหรับข้อความเกี่ยวกับการเปลี่ยนแปลง ให้ส่งคำขอ POST ไปยัง watch สำหรับทรัพยากร

ช่องทางการแจ้งเตือนแต่ละช่องทางจะเชื่อมโยงทั้งกับผู้ใช้รายหนึ่งๆ และ ทรัพยากรที่เฉพาะเจาะจง (หรือชุดของทรัพยากร) คำขอwatch จะไม่สำเร็จ เว้นแต่ผู้ใช้ปัจจุบัน หรือบัญชีบริการ เป็นเจ้าของหรือมีสิทธิ์เข้าถึงแหล่งข้อมูลนี้

ตัวอย่าง

คำขอนาฬิกาทั้งหมดสำหรับทรัพยากรกิจกรรมจะมีแบบฟอร์มทั่วไปดังนี้

POST https://admin.googleapis.com/admin/reports/v1/activity/users/userKey or all/applications/applicationName/watch
Authorization: Bearer auth_token_for_current_user
Content-Type: application/json

{
  "id": "01234567-89ab-cdef-0123456789ab", // Your channel ID.
  "type": "web_hook",
  "address": "https://mydomain.com/notifications", // Your receiving URL.
  ...
  "token": "target=myApp-myFilesChannelDest", // (Optional) Your channel token.
  "payload": true, // (Optional) Whether to include the payload (message body) in notifications.
  "expiration": 3600 // (Optional) Your requested channel expiration time.
}

คุณสามารถใช้พารามิเตอร์ userKey, applicationName, eventName และ filters เพื่อรับการแจ้งเตือนสำหรับเหตุการณ์ ผู้ใช้ หรือแอปพลิเคชันที่ระบุเท่านั้น

หมายเหตุ: ตัวอย่างต่อไปนี้ละเว้นเนื้อหาคำขอเพื่อความชัดเจน

เฝ้าดูกิจกรรมของผู้ดูแลระบบทั้งหมด:

POST https://admin.googleapis.com/admin/reports/v1/activity/users/all/applications/admin/watch

เฝ้าดูกิจกรรมเอกสารทั้งหมด:

POST https://admin.googleapis.com/admin/reports/v1/activity/users/all/applications/docs/watch

ดูกิจกรรมของผู้ดูแลระบบของผู้ใช้ที่เฉพาะเจาะจง

POST https://admin.googleapis.com/admin/reports/v1/activity/users/liz@example.com/applications/admin/watch

ตรวจหาเหตุการณ์เฉพาะ เช่น การเปลี่ยนรหัสผ่านของผู้ใช้

POST https://admin.googleapis.com/admin/reports/v1/activity/users/all/applications/admin/watch?eventName=CHANGE_PASSWORD

วิธีตรวจสอบการเปลี่ยนแปลงในเอกสารที่ต้องการ

POST https://admin.googleapis.com/admin/reports/v1/activity/users/all/applications/docs/watch?eventName=EDIT&filters==doc_id=123456abcdef

พร็อพเพอร์ตี้ที่จำเป็น

ในคำขอ watch แต่ละรายการ คุณจะต้องกรอกข้อมูลในช่องต่อไปนี้

  • สตริงพร็อพเพอร์ตี้ id ที่ระบุค่านี้โดยไม่ซ้ำกัน ช่องทางการแจ้งเตือนใหม่ภายในโปรเจ็กต์ของคุณ เราขอแนะนำให้ใช้ ตัวระบุที่ไม่ซ้ำกันทั่วโลก (UUID) หรือรายการอื่นๆ ที่คล้ายกัน สตริงที่ไม่ซ้ำกัน ความยาวสูงสุด: 64 อักขระ

    ค่ารหัสที่คุณตั้งค่าไว้จะถูกสะท้อนกลับใน ส่วนหัว HTTP X-Goog-Channel-Id ของการแจ้งเตือนทั้งหมด ข้อความที่คุณได้รับจากช่องนี้

  • ตั้งค่าสตริงพร็อพเพอร์ตี้ type เป็นค่าแล้ว web_hook

  • ตั้งค่าสตริงพร็อพเพอร์ตี้ address เป็น URL ที่ฟังอยู่ และตอบกลับการแจ้งเตือนสำหรับช่องทางการแจ้งเตือนนี้ นี่คือ URL เรียกกลับของเว็บฮุคและต้องใช้ HTTPS

    โปรดทราบว่า Admin SDK API ส่งการแจ้งเตือนถึง ที่อยู่ HTTPS นี้ต่อเมื่อมีการติดตั้งใบรับรอง SSL ที่ถูกต้องไว้เท่านั้น ในเว็บเซิร์ฟเวอร์ของคุณ ใบรับรองที่ไม่ถูกต้อง ได้แก่

    • ใบรับรองแบบ Self-signed
    • ใบรับรองที่ลงนามโดยแหล่งที่มาที่ไม่น่าเชื่อถือ
    • ใบรับรองที่เพิกถอนไปแล้ว
    • ใบรับรองที่มีเรื่องที่ไม่ตรงกับเป้าหมาย ชื่อโฮสต์

พร็อพเพอร์ตี้ที่ไม่บังคับ

นอกจากนี้ คุณยังระบุช่องที่ไม่บังคับเหล่านี้ได้โดยใช้ คำขอwatch:

  • พร็อพเพอร์ตี้ token ที่ระบุสตริงที่กําหนดเอง ค่าเพื่อใช้เป็นโทเค็นของแชแนล คุณสามารถใช้ช่องทางการแจ้งเตือน โทเค็นเพื่อวัตถุประสงค์ต่างๆ ตัวอย่างเช่น คุณสามารถใช้ เพื่อยืนยันว่าข้อความขาเข้าทั้งหมดมาจากช่องทางที่ สร้างแอปพลิเคชันแล้ว เพื่อให้มั่นใจว่า ปลอมแปลง หรือเพื่อกำหนดเส้นทางข้อความไปยังปลายทางที่ถูกต้องภายใน ใบสมัครของคุณตามวัตถุประสงค์ของช่องทางนี้ ความยาวสูงสุด: 256 อักขระ

    โทเค็นจะรวมอยู่ใน ส่วนหัว HTTP X-Goog-Channel-Token ในทุกการแจ้งเตือน ที่แอปพลิเคชันของคุณได้รับสำหรับช่องทางนี้

    หากใช้โทเค็นช่องทางการแจ้งเตือน เราขอแนะนำให้ทำดังนี้

    • ใช้รูปแบบการเข้ารหัสที่ขยายได้ เช่น การค้นหา URL พารามิเตอร์ เช่น forwardTo=hr&createdBy=mobile

    • อย่าใส่ข้อมูลที่ละเอียดอ่อน เช่น โทเค็น OAuth

  • ตั้งค่าสตริงพร็อพเพอร์ตี้ expiration เป็น การประทับเวลา Unix (เป็นมิลลิวินาที) ของวันที่และเวลาที่คุณต้องการให้ Admin SDK API ดำเนินการ หยุดส่งข้อความสำหรับช่องทางการแจ้งเตือนนี้

    หากแชแนลมีเวลาหมดอายุ ระบบจะนับเป็นค่า ของส่วนหัว HTTP X-Goog-Channel-Expiration (ในเวอร์ชันที่มนุษย์อ่านได้) ) ในข้อความแจ้งเตือนทุกรายการ ที่แอปพลิเคชันได้รับสำหรับช่องนี้

ดูรายละเอียดเพิ่มเติมเกี่ยวกับคำขอได้ที่เมธอด watch สำหรับทรัพยากร Activity ในข้อมูลอ้างอิง API

ดูการตอบกลับ

หากคำขอ watch สร้างการแจ้งเตือนสำเร็จ แชแนลจะแสดงรหัสสถานะ HTTP 200 OK

เนื้อหาข้อความของการตอบกลับนาฬิกาจะให้ข้อมูลเกี่ยวกับ ช่องทางการแจ้งเตือนที่คุณเพิ่งสร้างขึ้น ดังที่แสดงในตัวอย่างด้านล่าง

{
  "kind": "api#channel",
  "id": "reportsApiId", // ID you specified for this channel.
  "resourceId": "o3hgv1538sdjfh", // ID of the watched resource.
  "resourceUri": "https://admin.googleapis.com/admin/reports/v1/activity/userKey/applications/applicationName", // Version-specific ID of the watched resource.
  "token": "target=myApp-myFilesChannelDest", // Present only if one was provided.
  "expiration": 3600, // Actual expiration time as Unix timestamp (in ms), if applicable.
}

นอกจากพร็อพเพอร์ตี้ที่คุณส่งมาเป็นส่วนหนึ่งของคำขอแล้ว ข้อมูลที่ส่งคืนยังรวมถึง resourceId และ resourceUri เพื่อระบุแหล่งข้อมูลที่รับชมอยู่สำหรับวิดีโอนี้ ช่องทางการแจ้งเตือน

คุณสามารถส่งต่อข้อมูลที่ส่งคืนไปยังช่องทางการแจ้งเตือนอื่นๆ ได้ เช่น เมื่อคุณต้องการหยุดรับ การแจ้งเตือน

ดูรายละเอียดเพิ่มเติมเกี่ยวกับการตอบกลับได้ที่watch สำหรับทรัพยากร Activity ในการอ้างอิง API

ซิงค์ข้อความ

หลังจากสร้างช่องทางการแจ้งเตือนเพื่อดูแหล่งข้อมูลแล้ว Admin SDK API จะส่งข้อความ sync เพื่อระบุว่า การแจ้งเตือนต่างๆ เริ่มขึ้น HTTP ของ X-Goog-Resource-State ค่าส่วนหัวสำหรับข้อความเหล่านี้คือ sync เนื่องจากเครือข่าย เกิดปัญหาเกี่ยวกับเวลา คุณอาจได้รับข้อความ sync ก่อนที่คุณจะได้รับการตอบกลับเมธอด watch

คุณจึงไม่ต้องสนใจการแจ้งเตือนของ sync แต่ ก็ใช้ได้ด้วย เช่น หากคุณตัดสินใจว่าไม่ต้องการเก็บ ช่องนั้น คุณจะสามารถใช้ X-Goog-Channel-ID และ X-Goog-Resource-ID ค่าในการเรียกไปยัง หยุดรับการแจ้งเตือน คุณยังสามารถใช้ การแจ้งเตือน sync ให้เริ่มดำเนินการเพื่อเตรียมพร้อม กิจกรรมหลังจากนี้

รูปแบบของข้อความ sync ที่ Admin SDK API ส่งไปถึง URL ผู้รับของคุณแสดงไว้ด้านล่างนี้

POST https://mydomain.com/notifications // Your receiving URL.
X-Goog-Channel-ID: channel-ID-value
X-Goog-Channel-Token: channel-token-value
X-Goog-Channel-Expiration: expiration-date-and-time // In human-readable format. Present only if the channel expires.
X-Goog-Resource-ID: identifier-for-the-watched-resource
X-Goog-Resource-URI: version-specific-URI-of-the-watched-resource
X-Goog-Resource-State: sync
X-Goog-Message-Number: 1

ข้อความที่ซิงค์จะมี X-Goog-Message-Number HTTP เสมอ ค่าส่วนหัว 1 การแจ้งเตือนที่ตามมาแต่ละรายการสำหรับช่องนี้ หมายเลขข้อความที่มากกว่าหมายเลขก่อนหน้านี้ แม้ว่าข้อความ จะไม่เรียงตามลำดับ

ต่ออายุช่องทางการแจ้งเตือน

ช่องทางการแจ้งเตือนอาจมีเวลาหมดอายุโดยมีค่า ซึ่งกำหนดโดยคำขอของคุณหรือจากขีดจำกัดภายในของ Admin SDK API หรือค่าเริ่มต้น (จะใช้ค่าที่มีการจำกัดมากกว่า) วันหมดอายุของช่อง เวลา หากมี จะรวมเป็นการประทับเวลา Unix (หน่วยเป็นมิลลิวินาที) ในข้อมูลที่แสดงผลโดยเมธอด watch นอกจากนี้ มีการระบุวันที่และเวลาหมดอายุ (ในรูปแบบที่มนุษย์อ่านได้) ในทุก ข้อความแจ้งเตือนที่แอปพลิเคชันได้รับสำหรับช่องนี้ใน ส่วนหัว HTTP ของ X-Goog-Channel-Expiration

ปัจจุบันยังไม่มีวิธีต่ออายุช่องทางการแจ้งเตือนโดยอัตโนมัติ วันและเวลา ช่องทางใกล้หมดอายุ คุณต้องแทนที่ด้วยช่องใหม่โดยการเรียกใช้ เมธอด watch และเช่นเคย คุณต้องใช้ค่าที่ไม่ซ้ำกันสำหรับ พร็อพเพอร์ตี้ id ของช่องใหม่ โปรดทราบว่าอาจมี เป็น "ทับซ้อน" ระยะเวลาที่ช่องทางการแจ้งเตือน 2 ช่องทางสำหรับ มีการใช้งานทรัพยากรเดียวกัน

รับการแจ้งเตือน

เมื่อใดก็ตามที่ทรัพยากรที่ดูมีการเปลี่ยนแปลง แอปพลิเคชันของคุณจะได้รับ ที่อธิบายการเปลี่ยนแปลงดังกล่าว Admin SDK API จะส่งรายการเหล่านี้ ข้อความเป็นคำขอ HTTPS POST ไปยัง URL ที่คุณระบุเป็น พร็อพเพอร์ตี้ address สำหรับการแจ้งเตือนนี้

ตีความรูปแบบข้อความแจ้งเตือน

ข้อความแจ้งเตือนทั้งหมดจะรวมชุดส่วนหัว HTTP ที่มี คำนำหน้า X-Goog- การแจ้งเตือนบางประเภทอาจมี เนื้อความ

ส่วนหัว

ข้อความแจ้งเตือนที่ Admin SDK API โพสต์ไปยังผู้รับ URL มีส่วนหัว HTTP ต่อไปนี้

ส่วนหัว คำอธิบาย
แสดงเสมอ
X-Goog-Channel-ID UUID หรือสตริงที่ไม่ซ้ำกันอื่นๆ ที่คุณระบุไว้เพื่อระบุข้อมูลนี้ ช่องทางการแจ้งเตือน
X-Goog-Message-Number จำนวนเต็มที่ระบุข้อความนี้สำหรับการแจ้งเตือนนี้ ค่าจะเป็น 1 เสมอสำหรับ sync ข้อความ ข้อความ จำนวนที่เพิ่มขึ้นสำหรับแต่ละข้อความที่ตามมาบนช่อง ไม่เรียงตามลำดับ
X-Goog-Resource-ID ค่าทึบที่ระบุทรัพยากรที่ดู รหัสนี้คือ เสถียรในทุกเวอร์ชัน API
X-Goog-Resource-State สถานะทรัพยากรใหม่ที่เรียกใช้การแจ้งเตือน ค่าที่เป็นไปได้มีดังนี้ sync หรือชื่อเหตุการณ์
X-Goog-Resource-URI ตัวระบุเฉพาะเวอร์ชัน API สำหรับทรัพยากรที่ดู
บางครั้งอาจมี
X-Goog-Channel-Expiration วันที่และเวลาที่ช่องทางการแจ้งเตือนหมดอายุ ซึ่งแสดงเป็น ที่มนุษย์อ่านได้ แสดงเมื่อกำหนดไว้เท่านั้น
X-Goog-Channel-Token โทเค็นช่องทางการแจ้งเตือนที่แอปพลิเคชันตั้งค่า และ ซึ่งใช้ยืนยันแหล่งที่มาของการแจ้งเตือนได้ นำเสนอเฉพาะเมื่อ กำหนดไว้

ข้อความแจ้งเตือนสำหรับกิจกรรมมีข้อมูลต่อไปนี้ในเนื้อหาคำขอ

พร็อพเพอร์ตี้ คำอธิบาย
kind ระบุว่าข้อมูลนี้เป็นทรัพยากรกิจกรรม ค่า: สตริงคงที่ "admin#reports#activity"
id ตัวระบุที่ไม่ซ้ำกันในบันทึกกิจกรรม
id.time เวลาที่เกิดกิจกรรม ค่าจะอยู่ใน รูปแบบวันที่และเวลา ISO 8601 เวลา คือวันที่แบบเต็มพร้อมชั่วโมง นาที และวินาทีในรูปแบบ YYYY-MM-DDThh:mm:ssTZD เช่น 2010-04-05T17:30:04+01:00
id.uniqueQualifier ตัวระบุที่ไม่ซ้ำกันในกรณีที่มีกิจกรรมหลายรายการเหมือนกัน
id.applicationName ชื่อแอปพลิเคชันที่มีกิจกรรมอยู่ ค่าที่เป็นไปได้มีดังนี้
id.customerId ตัวระบุที่ไม่ซ้ำกันสำหรับบัญชี Google Workspace
actor ผู้ใช้ที่ดำเนินการ
actor.callerType ประเภทของผู้เขียนที่ทำกิจกรรมที่ระบุไว้ในรายงาน ใน API เวอร์ชันนี้ callerType คือคำขอเอนทิตี USER หรือ OAuth 2LO ที่ดำเนินการตามที่ระบุไว้ในรายงาน
actor.email อีเมลหลักของผู้ใช้ที่มีการรายงานกิจกรรม
actor.profileId รหัสโปรไฟล์ Google Workspace ที่ไม่ซ้ำกันของผู้ใช้
ownerDomain โดเมนของคอนโซลผู้ดูแลระบบหรือเจ้าของเอกสารของแอปพลิเคชันเอกสาร โดเมนที่ได้รับผลกระทบจากเหตุการณ์ของรายงาน
ipAddress ที่อยู่ IP ของผู้ใช้ที่ดำเนินการนั้นๆ ที่อยู่นี้คือที่อยู่ Internet Protocol (IP) ของผู้ใช้เมื่อเข้าสู่ระบบ Google Workspace ซึ่งอาจแสดงถึงสถานที่ตั้งจริงของผู้ใช้หรือไม่ก็ได้ เช่น ที่อยู่ IP อาจเป็นที่อยู่ของพร็อกซีเซิร์ฟเวอร์หรือที่อยู่เครือข่ายส่วนตัวเสมือน (VPN) ของผู้ใช้ก็ได้ API รองรับ IPv4 และ IPv6
events[] เหตุการณ์กิจกรรมในรายงาน
events[].type ประเภทเหตุการณ์ บริการหรือฟีเจอร์ของ Google Workspace ที่ผู้ดูแลระบบเปลี่ยนแปลงจะอยู่ในพร็อพเพอร์ตี้ type ซึ่งจะระบุเหตุการณ์โดยใช้พร็อพเพอร์ตี้ eventName
events[].name ชื่อเหตุการณ์ ชื่อนี้คือชื่อที่เจาะจงของกิจกรรมที่รายงานโดย API และ eventName แต่ละรายการจะเกี่ยวข้องกับบริการหรือฟีเจอร์ของ Google Workspace ที่เฉพาะเจาะจง ซึ่ง API จะจัดแบ่งประเภทเหตุการณ์
สำหรับพารามิเตอร์คำขอ eventName โดยทั่วไป
  • หากไม่ได้ระบุ eventName รายงานจะแสดงอินสแตนซ์ที่เป็นไปได้ทั้งหมดของ eventName
  • เมื่อคุณขอ eventName การตอบกลับของ API จะแสดงกิจกรรมทั้งหมดที่มี eventName ดังกล่าว กิจกรรมที่แสดงผลอาจมีพร็อพเพอร์ตี้ eventName อื่นๆ นอกเหนือจากที่ขอ
events[].parameters[] คู่ค่าพารามิเตอร์สำหรับแอปพลิเคชันต่างๆ
events[].parameters[].name ชื่อพารามิเตอร์
events[].parameters[].value ค่าสตริงของพารามิเตอร์
events[].parameters[].intValue ค่าที่เป็นจำนวนเต็มของพารามิเตอร์
events[].parameters[].boolValue ค่าบูลีนของพารามิเตอร์

ตัวอย่าง

ข้อความแจ้งเตือนสำหรับเหตุการณ์ทรัพยากรกิจกรรมจะมีรูปแบบทั่วไปดังนี้

POST https://mydomain.com/notifications // Your receiving URL.
Content-Type: application/json; utf-8
Content-Length: 0
X-Goog-Channel-ID: reportsApiId
X-Goog-Channel-Token: 398348u3tu83ut8uu38
X-Goog-Channel-Expiration: Tue, 29 Oct 2013 20:32:02 GMT
X-Goog-Resource-ID:  ret08u3rv24htgh289g
X-Goog-Resource-URI: https://admin.googleapis.com/admin/reports/v1/activity/userKey/applications/applicationName
X-Goog-Resource-State:  eventName
X-Goog-Message-Number: 10

{
  "kind": "admin#reports#activity",
  "id": {
    "time": datetime,
    "uniqueQualifier": long,
    "applicationName": string,
    "customerId": string
  },
  "actor": {
    "callerType": string,
    "email": string,
    "profileId": long
  },
  "ownerDomain": string,
  "ipAddress": string,
  "events": [
    {
      "type": string,
      "name": string,
      "parameters": [
        {
          "name": string,
          "value": string,
          "intValue": long,
          "boolValue": boolean
        }
      ]
    }
  ]
}

ตัวอย่างเหตุการณ์กิจกรรมของผู้ดูแลระบบ

POST https://mydomain.com/notifications // Your receiving URL.
Content-Type: application/json; utf-8
Content-Length: 596
X-Goog-Channel-ID: reportsApiId
X-Goog-Channel-Token: 245t1234tt83trrt333
X-Goog-Channel-Expiration: Tue, 29 Oct 2013 20:32:02 GMT
X-Goog-Resource-ID:  ret987df98743md8g
X-Goog-Resource-URI: https://admin.googleapis.com/admin/reports/v1/activity/users/all/applications/admin?alt=json
X-Goog-Resource-State:  CREATE_USER
X-Goog-Message-Number: 23

{
  "kind": "admin#reports#activity",
  "id": {
    "time": "2013-09-10T18:23:35.808Z",
    "uniqueQualifier": "-0987654321",
    "applicationName": "admin",
    "customerId": "ABCD012345"
  },
  "actor": {
    "callerType": "USER",
    "email": "admin@example.com",
    "profileId": "0123456789987654321"
  },
  "ownerDomain": "apps-reporting.example.com",
  "ipAddress": "192.0.2.0",
  "events": [
    {
      "type": "USER_SETTINGS",
      "name": "CREATE_USER",
      "parameters": [
        {
          "name": "USER_EMAIL",
          "value": "liz@example.com"
        }
      ]
    }
  ]
}

ตอบสนองต่อการแจ้งเตือนต่างๆ

เพื่อแสดงถึงความสำเร็จ คุณสามารถส่งรหัสสถานะต่อไปนี้ 200, 201, 202, 204 หรือ 102

หากบริการของคุณใช้ไลบรารีไคลเอ็นต์ API ของ Google และแสดงผล 500,502, 503 หรือ 504 ซึ่งเป็น Admin SDK API ลองอีกครั้งโดยใช้ Exponential Backoff รหัสสถานะการคืนสินค้าอื่นๆ ทั้งหมดจะถือว่าเป็นข้อความล้มเหลว

ทำความเข้าใจเหตุการณ์การแจ้งเตือน Admin SDK API

ส่วนนี้จะให้รายละเอียดเกี่ยวกับข้อความการแจ้งเตือนที่คุณสามารถ ได้รับเมื่อใช้ข้อความ Push กับ Admin SDK API

ข้อความ Push API ของรายงานมีข้อความ 2 ประเภท ได้แก่ ข้อความซิงค์และการแจ้งเตือนกิจกรรม ประเภทข้อความจะระบุอยู่ในส่วนหัว HTTP X-Goog-Resource-State ค่าที่เป็นไปได้สำหรับการแจ้งเตือนกิจกรรมจะเหมือนกับเมธอด activities.list แต่ละแอปพลิเคชันมีเหตุการณ์ที่ไม่ซ้ำ:

ปิดการแจ้งเตือน

พร็อพเพอร์ตี้ expiration จะควบคุมเมื่อการแจ้งเตือนหยุดโดยอัตโนมัติ คุณสามารถ เลือกหยุดรับการแจ้งเตือนสำหรับช่องใดช่องหนึ่งก่อนถึงวันนั้น หมดอายุด้วยการเรียกเมธอด stop ที่ URI ต่อไปนี้

https://www.googleapis.com/admin/reports_v1/channels/stop

วิธีนี้กำหนดให้คุณต้องระบุข้อมูลโค้ดของช่อง id และพร็อพเพอร์ตี้ resourceId ดังที่แสดงใน ตัวอย่างด้านล่าง โปรดทราบว่าหาก Admin SDK API มีแท็กหลายประเภท ทรัพยากรที่มี watch เมธอด มีได้เพียง 1 วิธีเท่านั้น stop วิธี

เฉพาะผู้ใช้ที่มีสิทธิ์ที่ถูกต้องเท่านั้นที่จะหยุดช่องได้ โดยเฉพาะอย่างยิ่งฟีเจอร์ต่อไปนี้

  • หากช่องสร้างขึ้นโดยบัญชีผู้ใช้ปกติ จะใช้ ผู้ใช้จากไคลเอ็นต์เดียวกัน (ระบุโดยรหัสไคลเอ็นต์ OAuth 2.0 จาก โทเค็นการตรวจสอบสิทธิ์) ผู้ที่สร้างช่องจะหยุดช่องได้
  • หากช่องสร้างขึ้นโดยบัญชีบริการ ผู้ใช้จาก สามารถหยุดช่องได้

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีหยุดรับการแจ้งเตือน

POST https://www.googleapis.com/admin/reports_v1/channels/stop
  
Authorization: Bearer CURRENT_USER_AUTH_TOKEN
Content-Type: application/json

{
  "id": "4ba78bf0-6a47-11e2-bcfd-0800200c9a66",
  "resourceId": "ret08u3rv24htgh289g"
}