เอกสารนี้อธิบายวิธีใช้การแจ้งเตือนแบบพุชที่แจ้งให้แอปพลิเคชันของคุณทราบเมื่อทรัพยากรมีการเปลี่ยนแปลง
ภาพรวม
Google Drive API มีการแจ้งเตือนแบบพุชที่ช่วยให้คุณตรวจสอบ การเปลี่ยนแปลงในทรัพยากรได้ คุณสามารถใช้ฟีเจอร์นี้เพื่อปรับปรุงประสิทธิภาพของ แอปพลิเคชัน ซึ่งจะช่วยลดค่าใช้จ่ายด้านเครือข่ายและการประมวลผลเพิ่มเติม ที่เกี่ยวข้องกับการโพลทรัพยากรเพื่อตรวจสอบว่ามีการเปลี่ยนแปลงหรือไม่ เมื่อใดก็ตามที่ทรัพยากรที่เฝ้าดูมีการเปลี่ยนแปลง Google Drive API จะแจ้งให้แอปพลิเคชันของคุณทราบ
หากต้องการใช้การแจ้งเตือนแบบพุช คุณต้องทำ 2 สิ่งต่อไปนี้
ตั้งค่า URL ที่รับหรือตัวรับการเรียกกลับ "Webhook"
ซึ่งเป็นเซิร์ฟเวอร์ HTTPS ที่จัดการข้อความแจ้งเตือน API ที่ ทริกเกอร์เมื่อทรัพยากรมีการเปลี่ยนแปลง
ตั้งค่า (ช่องทางการแจ้งเตือน) สำหรับปลายทางทรัพยากรแต่ละรายการที่คุณต้องการ เฝ้าดู
ช่องทางจะระบุข้อมูลการกำหนดเส้นทางสำหรับข้อความแจ้งเตือน คุณต้องระบุ URL ที่เฉพาะเจาะจงซึ่งคุณต้องการรับการแจ้งเตือนเป็นส่วนหนึ่งของการตั้งค่าช่องทาง เมื่อใดก็ตามที่ทรัพยากรของช่องทางมีการเปลี่ยนแปลง Google Drive API จะส่งข้อความแจ้งเตือนเป็นคำขอ
POSTไปยัง URL นั้น
ปัจจุบัน Google Drive API รองรับการแจ้งเตือนสำหรับการเปลี่ยนแปลง
เมธอด files และ changes
สร้างช่องทางการแจ้งเตือน
หากต้องการขอการแจ้งเตือนแบบพุช คุณต้องตั้งค่าช่องทางการแจ้งเตือน สำหรับทรัพยากรแต่ละรายการที่ต้องการตรวจสอบ หลังจากตั้งค่าช่องทางการแจ้งเตือนแล้ว Google Drive API จะแจ้งให้แอปพลิเคชันของคุณทราบเมื่อทรัพยากรที่เฝ้าดูมีการเปลี่ยนแปลง
ส่งคำขอเฝ้าดู
ทรัพยากร Google Drive API ที่เฝ้าดูได้แต่ละรายการจะมีเมธอด
watch ที่เกี่ยวข้องที่ URI ในรูปแบบต่อไปนี้
https://www.googleapis.com/API_NAME/API_VERSION/RESOURCE_PATH/watch
หากต้องการตั้งค่าช่องทางการแจ้งเตือนสำหรับข้อความเกี่ยวกับการเปลี่ยนแปลงทรัพยากรที่เฉพาะเจาะจง ให้ส่งคำขอ POST ไปยังเมธอด watch ของทรัพยากร
ช่องทางการแจ้งเตือนแต่ละช่องทางจะเชื่อมโยงกับผู้ใช้ที่เฉพาะเจาะจงและ
ทรัพยากร (หรือชุดทรัพยากร) ที่เฉพาะเจาะจง คำขอ watch จะไม่สำเร็จหากผู้ใช้ปัจจุบันหรือบัญชีบริการไม่ได้เป็นเจ้าของหรือไม่มีสิทธิ์เข้าถึงทรัพยากรนี้
ตัวอย่าง
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีใช้ทรัพยากร channels เพื่อเริ่มเฝ้าดูการเปลี่ยนแปลงทรัพยากร files รายการเดียวโดยใช้เมธอด files.watch
POST https://www.googleapis.com/drive/v3/files/fileId/watch
Authorization: Bearer CURRENT_USER_AUTH_TOKEN
Content-Type: application/json
{
"id": "01234567-89ab-cdef-0123456789ab",
"type": "web_hook",
"address": "https://mydomain.com/notifications",
...
"token": "target=myApp-myFilesChannelDest",
"expiration": 1426325213000
}ในเนื้อหาคำขอ ให้ระบุ id ของช่องทาง type เป็น web_hook และ URL ที่รับใน address
นอกจากนี้ คุณยังระบุข้อมูลต่อไปนี้ได้ด้วย (ไม่บังคับ)
tokenที่จะใช้เป็นโทเค็นช่องทาง- เวลา
expirationเป็นมิลลิวินาทีสำหรับเวลาหมดอายุของช่องทางที่คุณขอ
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีใช้ทรัพยากร channels เพื่อเริ่มเฝ้าดู changes ทั้งหมดโดยใช้เมธอด changes.watch
POST https://www.googleapis.com/drive/v3/changes/watch
Authorization: Bearer CURRENT_USER_AUTH_TOKEN
Content-Type: application/json
{
"id": "4ba78bf0-6a47-11e2-bcfd-0800200c9a77",
"type": "web_hook",
"address": "https://mydomain.com/notifications",
...
"token": "target=myApp-myChangesChannelDest",
"expiration": 1426325213000
}ในเนื้อหาคำขอ ให้ระบุ id ของช่องทาง type เป็น web_hook และ URL ที่รับใน address
นอกจากนี้ คุณยังระบุข้อมูลต่อไปนี้ได้ด้วย (ไม่บังคับ)
tokenที่จะใช้เป็นโทเค็นช่องทาง- เวลา
expirationเป็นมิลลิวินาทีสำหรับเวลาหมดอายุของช่องทางที่คุณขอ
พร็อพเพอร์ตี้ที่จำเป็น
คุณต้องระบุฟิลด์ต่อไปนี้ในคำขอ watch แต่ละรายการ
-
สตริงพร็อพเพอร์ตี้
idที่ระบุช่องทางการแจ้งเตือนใหม่นี้ อย่างไม่ซ้ำกันภายในโปรเจ็กต์ เราขอแนะนำให้ใช้ ตัวระบุที่ไม่ซ้ำกับผู้อื่น (UUID) หรือสตริงที่ไม่ซ้ำกันที่คล้ายกัน ความยาวสูงสุด 64 อักขระระบบจะแสดงค่ารหัสที่คุณตั้งค่าไว้ในส่วนหัว HTTP
X-Goog-Channel-Idของข้อความแจ้งเตือนทุกข้อความที่คุณได้รับสำหรับช่องทางนี้ -
สตริงพร็อพเพอร์ตี้
typeที่ตั้งค่าเป็นweb_hook -
สตริงพร็อพเพอร์ตี้
addressที่ตั้งค่าเป็น URL ที่รับฟัง และตอบสนองต่อการแจ้งเตือนสำหรับช่องทางการแจ้งเตือนนี้ ซึ่งเป็น URL เรียกกลับของ Webhook และต้องใช้ HTTPSโปรดทราบว่า Google Drive API จะส่งการแจ้งเตือนไปยัง ที่อยู่ HTTPS นี้ได้ก็ต่อเมื่อมีการติดตั้งใบรับรอง SSL ที่ถูกต้องในเว็บเซิร์ฟเวอร์ ใบรับรองที่ไม่ถูกต้องมีดังต่อไปนี้
- ใบรับรองแบบ Self-signed
- ใบรับรองที่ลงนามโดยแหล่งที่มาที่ไม่น่าเชื่อถือ
- ใบรับรองที่เพิกถอนไปแล้ว
- ใบรับรองที่มีเรื่องไม่ตรงกับชื่อโฮสต์เป้าหมาย
พร็อพเพอร์ตี้ที่ไม่บังคับ
นอกจากนี้ คุณยังระบุฟิลด์ที่ไม่บังคับต่อไปนี้ด้วย
watch คำขอได้ด้วย
-
พร็อพเพอร์ตี้
tokenที่ระบุค่าสตริงที่กำหนดเอง เพื่อใช้เป็นโทเค็นช่องทางการแจ้งเตือน คุณสามารถใช้โทเค็นช่องทางการแจ้งเตือน เพื่อวัตถุประสงค์ต่างๆ ได้ เช่น คุณสามารถใช้ โทเค็นเพื่อยืนยันว่าข้อความขาเข้าแต่ละข้อความมีไว้สำหรับช่องทางที่ แอปพลิเคชันของคุณสร้างขึ้น เพื่อให้แน่ใจว่าการแจ้งเตือนไม่ได้เป็นการ ปลอมแปลง หรือเพื่อกำหนดเส้นทางข้อความไปยังปลายทางที่ถูกต้องภายใน แอปพลิเคชันตามวัตถุประสงค์ของช่องทางนี้ ความยาวสูงสุด 256 อักขระโทเค็นจะรวมอยู่ในส่วนหัว HTTP
X-Goog-Channel-Tokenในข้อความแจ้งเตือนทุกข้อความที่แอปพลิเคชันของคุณได้รับสำหรับช่องทางนี้หากคุณใช้โทเค็นช่องทางการแจ้งเตือน เราขอแนะนำให้คุณดำเนินการดังนี้
ใช้รูปแบบการเข้ารหัสที่ขยายได้ เช่น พารามิเตอร์การค้นหา URL ตัวอย่าง:
forwardTo=hr&createdBy=mobileอย่าใส่ข้อมูลที่ละเอียดอ่อน เช่น โทเค็น OAuth
-
สตริงพร็อพเพอร์ตี้
expirationที่ตั้งค่าเป็นการประทับเวลา Unix (เป็นมิลลิวินาที) ของวันที่และเวลาที่คุณต้องการให้ Google Drive API หยุดส่งข้อความสำหรับช่องทางการแจ้งเตือนนี้หากช่องทางมีเวลาหมดอายุ เวลาดังกล่าวจะรวมเป็นค่าของส่วนหัว HTTP
X-Goog-Channel-Expiration(ในรูปแบบที่มนุษย์อ่านได้) ในข้อความแจ้งเตือนทุกข้อความที่แอปพลิเคชันของคุณได้รับสำหรับช่องทางนี้
ดูรายละเอียดเพิ่มเติมเกี่ยวกับคำขอได้ที่เมธอด watch สำหรับเมธอด files และ changes ในข้อมูลอ้างอิง API
การตอบกลับของคำขอเฝ้าดู
หากคำขอ watch สร้างช่องทางการแจ้งเตือนได้สำเร็จ ระบบจะแสดงรหัสสถานะ HTTP 200 OK
เนื้อหาข้อความของการตอบกลับของคำขอเฝ้าดูจะให้ข้อมูลเกี่ยวกับช่องทางการแจ้งเตือนที่คุณเพิ่งสร้าง ดังที่แสดงในตัวอย่างด้านล่าง
{
"kind": "api#channel",
"id": "01234567-89ab-cdef-0123456789ab",
"resourceId": "o3hgv1538sdjfh",
"resourceUri": "https://www.googleapis.com/drive/v3/files/o3hgv1538sdjfh",
"token": "target=myApp-myFilesChannelDest",
"expiration": 1426325213000
}
เนื้อหาการตอบกลับจะให้รายละเอียดช่องทาง เช่น
kind: ระบุว่านี่คือทรัพยากรช่องทาง APIid: รหัสที่คุณระบุสำหรับช่องทางนี้resourceId: รหัสของทรัพยากรที่เฝ้าดูresourceUri: รหัสเฉพาะเวอร์ชันของทรัพยากรที่เฝ้าดูtoken: โทเค็นที่ระบุในเนื้อหาคำขอexpiration: เวลาหมดอายุของช่องทางเป็นการประทับเวลา Unix ในหน่วยมิลลิวินาที
นอกเหนือจากพร็อพเพอร์ตี้ที่คุณส่งเป็นส่วนหนึ่งของคำขอแล้ว ข้อมูลที่แสดงผลยังรวมถึง resourceId และ
resourceUri เพื่อระบุทรัพยากรที่กำลังเฝ้าดูในช่องทางการแจ้งเตือนนี้
คุณสามารถส่งข้อมูลที่แสดงผลไปยังการดำเนินการอื่นๆ ของช่องทางการแจ้งเตือน เช่น เมื่อต้องการหยุดรับ การแจ้งเตือน
ดูรายละเอียดเพิ่มเติมเกี่ยวกับการตอบกลับได้ที่เมธอด watch
สำหรับเมธอด files และ changes ในข้อมูลอ้างอิง API
ข้อความซิงค์
หลังจากสร้างช่องทางการแจ้งเตือนเพื่อเฝ้าดูทรัพยากรแล้ว
Google Drive API จะส่งข้อความ sync เพื่อระบุว่า
การแจ้งเตือนกำลังจะเริ่มขึ้น ค่าส่วนหัว X-Goog-Resource-StateHTTP
สำหรับข้อความเหล่านี้คือ sync เนื่องจากปัญหาการกำหนดเวลาของเครือข่าย คุณจึงอาจได้รับข้อความ sync แม้กระทั่งก่อนที่จะได้รับการตอบกลับของเมธอด watch
คุณสามารถละเว้นการแจ้งเตือน sync ได้อย่างปลอดภัย แต่ก็ใช้การแจ้งเตือนนี้ได้เช่นกัน เช่น หากตัดสินใจว่าไม่ต้องการเก็บช่องทางไว้ คุณสามารถใช้ค่า X-Goog-Channel-ID และ X-Goog-Resource-ID ในการเรียกเพื่อ หยุดรับการแจ้งเตือน นอกจากนี้ คุณยังใช้การแจ้งเตือน
sync เพื่อทำการเริ่มต้นบางอย่างเพื่อเตรียมพร้อมสำหรับ
เหตุการณ์ในภายหลังได้ด้วย
รูปแบบของข้อความ sync ที่ Google Drive 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-NumberHTTP
เป็น 1 เสมอ การแจ้งเตือนที่ตามมาแต่ละรายการสำหรับช่องทางนี้มี
หมายเลขข้อความที่มากกว่ารายการก่อนหน้า แม้ว่าหมายเลขข้อความ
จะไม่เรียงตามลำดับ
ต่ออายุช่องทางการแจ้งเตือน
ช่องทางการแจ้งเตือนอาจมีเวลาหมดอายุ โดยมีค่า
ที่กำหนดโดยคำขอของคุณหรือโดยขีดจำกัดหรือค่าเริ่มต้นภายในของ Google Drive API (ระบบจะใช้ค่าที่จำกัดมากกว่า) เวลาหมดอายุของช่องทาง (หากมี) จะรวมอยู่เป็นการประทับเวลา Unix (เป็นมิลลิวินาที) ในข้อมูลที่เมธอด watch แสดงผล นอกจากนี้ วันที่และเวลาหมดอายุจะรวมอยู่ (ในรูปแบบที่มนุษย์อ่านได้) ในข้อความแจ้งเตือนทุกข้อความที่แอปพลิเคชันของคุณได้รับสำหรับช่องทางนี้ในส่วนหัว HTTP X-Goog-Channel-Expiration
ปัจจุบันยังไม่มีวิธีต่ออายุช่องทางการแจ้งเตือนโดยอัตโนมัติ เมื่อช่องทางใกล้หมดอายุ คุณต้องแทนที่ช่องทางนั้นด้วยช่องทางใหม่โดยเรียกเมธอด watch และเช่นเคย คุณต้องใช้ค่าที่ไม่ซ้ำกันสำหรับ
พร็อพเพอร์ตี้ id ของช่องทางใหม่ โปรดทราบว่าอาจมีช่วงเวลา "ทับซ้อน" ที่ช่องทางการแจ้งเตือน 2 ช่องทางสำหรับทรัพยากรเดียวกันใช้งานอยู่
รับการแจ้งเตือน
เมื่อใดก็ตามที่ทรัพยากรที่เฝ้าดูมีการเปลี่ยนแปลง แอปพลิเคชันของคุณจะได้รับข้อความแจ้งเตือนที่อธิบายการเปลี่ยนแปลง Google Drive API จะส่งข้อความเหล่านี้เป็นคำขอ HTTPS POST ไปยัง URL ที่คุณระบุเป็น
address พร็อพเพอร์ตี้ สำหรับช่องทางการแจ้งเตือนนี้
ทำความเข้าใจรูปแบบข้อความแจ้งเตือน
ข้อความแจ้งเตือนทั้งหมดจะมีชุดส่วนหัว HTTP ที่มี
X-Goog- คำนำหน้า
การแจ้งเตือนบางประเภทอาจมีเนื้อหาข้อความด้วย
ส่วนหัว
ข้อความแจ้งเตือนที่ Google Drive API โพสต์ไปยัง URL ที่รับ จะมีส่วนหัว HTTP ต่อไปนี้
| ส่วนหัว | คำอธิบาย |
|---|---|
| มีอยู่เสมอ | |
|
UUID หรือสตริงที่ไม่ซ้ำกันอื่นๆ ที่คุณระบุเพื่อระบุช่องทางการแจ้งเตือนนี้ |
|
จำนวนเต็มที่ระบุข้อความนี้สำหรับช่องทางการแจ้งเตือนนี้
ค่าจะเป็น 1 เสมอสำหรับข้อความ sync หมายเลขข้อความ
จะเพิ่มขึ้นสำหรับข้อความที่ตามมาแต่ละข้อความในช่องทาง แต่จะไม่เรียงตามลำดับ
|
|
ค่าทึบแสงที่ระบุทรัพยากรที่เฝ้าดู รหัสนี้จะ เสถียรใน API เวอร์ชันต่างๆ |
|
สถานะทรัพยากรใหม่ที่ทริกเกอร์การแจ้งเตือน
ค่าที่เป็นไปได้ ได้แก่
sync, add, remove, update,
trash, untrash, หรือ change
|
|
ตัวระบุเฉพาะเวอร์ชัน API สำหรับทรัพยากรที่เฝ้าดู |
| มีอยู่บางครั้ง | |
|
รายละเอียดเพิ่มเติมเกี่ยวกับการเปลี่ยนแปลง
ค่าที่เป็นไปได้ ได้แก่
content,
parents,
children, หรือ
permissions
.
ไม่ได้ระบุไว้ในข้อความ sync |
|
วันที่และเวลาหมดอายุของช่องทางการแจ้งเตือนในรูปแบบที่มนุษย์อ่านได้ จะแสดงก็ต่อเมื่อมีการกำหนดไว้ |
|
โทเค็นช่องทางการแจ้งเตือนที่แอปพลิเคชันของคุณตั้งค่าไว้ และ คุณสามารถใช้เพื่อยืนยันแหล่งที่มาของการแจ้งเตือน จะแสดงก็ต่อเมื่อมีการกำหนดไว้ |
ข้อความแจ้งเตือนสำหรับทั้งทรัพยากร files (รวมถึงเหตุการณ์ add, remove, update, trash, และ untrash) และทรัพยากร changes จะว่างเปล่าเสมอ (เนื้อหาคำขอ HTTP ว่างเปล่า เช่น Content-Length: 0)
ตัวอย่าง
ข้อความแจ้งเตือนสำหรับทรัพยากร files เมื่อมีการเพิ่มทรัพยากร (เนื้อหาคำขอว่างเปล่า)
POST https://mydomain.com/notifications Content-Type: application/json; utf-8 Content-Length: 0 X-Goog-Channel-ID: 4ba78bf0-6a47-11e2-bcfd-0800200c9a66 X-Goog-Channel-Token: 3a98f1a2b3c4d5e6f7 X-Goog-Channel-Expiration: Tue, 19 Nov 2013 01:13:52 GMT X-Goog-Resource-ID: ret08u3rv24htgh289g X-Goog-Resource-URI: https://www.googleapis.com/drive/v3/files/ret08u3rv24htgh289g X-Goog-Resource-State: add X-Goog-Message-Number: 10
ข้อความแจ้งเตือนการเปลี่ยนแปลงสำหรับทรัพยากร files เมื่อมีการอัปเดตทรัพยากร (เนื้อหาคำขอว่างเปล่า)
POST https://mydomain.com/notifications Content-Type: application/json; utf-8 Content-Length: 0 X-Goog-Channel-ID: 4ba78bf0-6a47-11e2-bcfd-0800200c9a66 X-Goog-Channel-Token: 3a98f1a2b3c4d5e6f7 X-Goog-Channel-Expiration: Tue, 19 Nov 2013 01:13:52 GMT X-Goog-Resource-ID: ret08u3rv24htgh289g X-Goog-Resource-URI: https://www.googleapis.com/drive/v3/files/ret08u3rv24htgh289g X-Goog-Resource-State: update X-Goog-Changed: content,properties X-Goog-Message-Number: 11
ข้อความแจ้งเตือนการเปลี่ยนแปลงสำหรับทรัพยากร changes (เนื้อหาคำขอว่างเปล่า)
POST https://mydomain.com/notifications Content-Type: application/json; utf-8 Content-Length: 0 X-Goog-Channel-ID: 8bd90be9-3a58-3122-ab43-9823188a5b43 X-Goog-Channel-Token: 245t1234tt83trrt333 X-Goog-Channel-Expiration: Tue, 19 Nov 2013 01:13:52 GMT X-Goog-Resource-ID: ret987df98743md8g X-Goog-Resource-URI: https://www.googleapis.com/drive/v3/changes X-Goog-Resource-State: changed X-Goog-Message-Number: 23
ตอบสนองต่อการแจ้งเตือนต่างๆ
หากต้องการระบุความสำเร็จ คุณสามารถแสดงรหัสสถานะใดก็ได้ต่อไปนี้:
200, 201, 202, 204, หรือ
102
หากบริการของคุณใช้ ไลบรารีของไคลเอ็นต์ API ของ Google
และแสดงผล 500,502, 503, หรือ 504 Google Drive API
จะลองอีกครั้งโดยใช้ Exponential Backoff
ระบบจะถือว่ารหัสสถานะที่แสดงผลอื่นๆ ทั้งหมดเป็นการแจ้งเตือนไม่สำเร็จ
ทำความเข้าใจเหตุการณ์การแจ้งเตือน Google Drive API
ส่วนนี้ให้รายละเอียดเกี่ยวกับข้อความแจ้งเตือนที่คุณอาจได้รับเมื่อใช้การแจ้งเตือนแบบพุชกับ Google Drive API
| ส่งเมื่อ | ||
|---|---|---|
sync |
files, changes |
สร้างช่องทางได้สำเร็จ คุณจะเริ่มได้รับการแจ้งเตือนสำหรับช่องทางนั้น |
add |
files |
มีการสร้างหรือแชร์ทรัพยากร |
|
files |
มีการลบหรือยกเลิกการแชร์ทรัพยากรที่มีอยู่ |
|
files |
มีการอัปเดตพร็อพเพอร์ตี้ (ข้อมูลเมตา) อย่างน้อย 1 รายการของทรัพยากร |
|
files |
มีการย้ายทรัพยากรไปยังถังขยะ |
|
files |
มีการนำทรัพยากรออกจากถังขยะ |
|
changes |
มีการเพิ่มรายการบันทึกการเปลี่ยนแปลงอย่างน้อย 1 รายการ |
สำหรับเหตุการณ์ update ระบบอาจระบุส่วนหัว HTTP X-Goog-Changed ส่วนหัวดังกล่าวจะมีรายการที่คั่นด้วยคอมมาซึ่งอธิบายประเภทการเปลี่ยนแปลงที่เกิดขึ้น
| ประเภทการเปลี่ยนแปลง | ความหมาย |
|---|---|
content |
มีการอัปเดตเนื้อหาทรัพยากร |
properties |
มีการอัปเดตพร็อพเพอร์ตี้อย่างน้อย 1 รายการของทรัพยากร |
parents |
มีการเพิ่มหรือนำผู้ปกครองอย่างน้อย 1 รายการของทรัพยากรออก |
children |
มีการเพิ่มหรือนำทรัพยากรย่อยอย่างน้อย 1 รายการออก |
permissions |
มีการอัปเดตสิทธิ์ของทรัพยากร |
ตัวอย่างที่มีส่วนหัว X-Goog-Changed
X-Goog-Resource-State: update X-Goog-Changed: content, permissions
หยุดการแจ้งเตือน
พร็อพเพอร์ตี้ expiration จะควบคุมเวลาที่การแจ้งเตือนหยุดโดยอัตโนมัติ คุณเลือกหยุดรับการแจ้งเตือนสำหรับช่องทางที่เฉพาะเจาะจงก่อนที่ช่องทางจะหมดอายุได้โดยเรียกเมธอด stop ที่ URI ต่อไปนี้
https://www.googleapis.com/drive/v3/channels/stop
เมธอดนี้กำหนดให้คุณระบุพร็อพเพอร์ตี้ของช่องทางอย่างน้อย
id และ resourceId ดังที่แสดงใน
ตัวอย่างด้านล่าง โปรดทราบว่าหาก Google Drive API มีทรัพยากรหลายประเภทที่มี
เมธอด watch จะมี
เมธอด stop เพียงเมธอดเดียว
เฉพาะผู้ใช้ที่มีสิทธิ์ที่เหมาะสมเท่านั้นที่จะหยุดช่องทางได้ โดยเฉพาะอย่างยิ่งฟีเจอร์ต่อไปนี้
- หากช่องทางสร้างขึ้นโดยบัญชีผู้ใช้ทั่วไป เฉพาะผู้ใช้คนเดียวกันจากไคลเอ็นต์เดียวกัน (ตามที่ระบุโดยรหัสไคลเอ็นต์ OAuth 2.0 จากโทเค็นการให้สิทธิ์) ที่สร้างช่องทางเท่านั้นที่จะหยุดช่องทางได้
- หากช่องทางสร้างขึ้นโดยบัญชีบริการ ผู้ใช้จากไคลเอ็นต์เดียวกันจะหยุดช่องทางได้
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีหยุดรับการแจ้งเตือน
POST https://www.googleapis.com/drive/v3/channels/stop
Authorization: Bearer CURRENT_USER_AUTH_TOKEN
Content-Type: application/json
{
"id": "4ba78bf0-6a47-11e2-bcfd-0800200c9a66",
"resourceId": "ret08u3rv24htgh289g"
}