停止手錶通道不能正常工作,但它不是一個錯誤響應,甚至允許傳播過夜。我仍然收到一個日曆更改的5個通知。有時候6.有時候3.它是零星的。我們還接收到8秒後進行同樣的動作進行第二輪通知。有時候6秒。有時第三組隨機數。也是零星的。共收到10個獨特的信息用於通過網絡瀏覽器創建一個單一的日曆。谷歌日曆API手錶渠道不停止
1
A
回答
0
使用Channels.stop這是在文檔中提到。供給您的請求主體如下數據:
{
"id": string,
"resourceId": string
}
id
是通道ID,當你created your watch request。資源ID也一樣。
閱讀本SO thread和this github forum額外的參考。
0
您可以對特定的日曆資源腕錶請求無限量,谷歌將始終返回相同的日曆資源ID相同的日曆,但在請求產生的uuid會有所不同,正因爲如此,你會會爲您製作的每個觀看請求接收多個通知。停止從特定日曆資源的所有通知的方法之一,就是聽取通知,拉出「X-goog-通道ID」和「x-goog-資源ID」從通知標題,並在Channels.stop要求使用它們。
{
"id": string,
"resourceId": string
}
每次執行收看請求時,你應該從響應持久化數據,並檢查uuid或資源ID已經存在,如果是不要再執行該資源ID收看請求(如你不想收到多個通知)。
例如
app.post("/calendar/listen", async function (req, res) {
var pushNotification = req.headers;
res.writeHead(200, {
'Content-Type': 'text/html'
});
res.end("Post recieved");
var userData = await dynamoDB.getSignInData(pushNotification["x-goog-channel-token"]).catch(function (err) {
console.log("Promise rejected: " + err);
});
if (!userData) {
console.log("User data not found in the database");
} else {
if (!userData.calendar) {
console.log("Calendar token not found in the user data object, can't perform Calendar API calls");
} else {
oauth2client.credentials = userData.calendar;
await calendarManager.stopWatching(oauth2client, pushNotification["x-goog-channel-id"], pushNotification["x-goog-resource-id"])
}
}
};
calendarManager.js
module.exports.stopWatching = function (oauth2client, channelId, resourceId) {
return new Promise(function (resolve, reject) {
calendar.channels.stop({
auth: oauth2client,
resource: {
id: channelId,
resourceId: resourceId
}
}, async function (err, response) {
if (err) {
console.log('The API returned an error: ' + err);
return reject(err);
} else {
console.log("Stopped watching channel " + channelId);
await dynamoDB.deleteWatchData(channelId)
resolve(response);
}
})
})
}
相關問題
- 1. 谷歌API日曆手錶不起作用,但渠道創建
- 2. 谷歌日曆API停止Django從
- 3. 谷歌渠道API - jquery更新表
- 4. 谷歌日曆API
- 5. API谷歌日曆
- 6. 谷歌飼料API V2又名推渠道VS渠道API vs WebSocket
- 7. 谷歌日曆API - 共享日曆
- 8. 谷歌日曆的Java API
- 9. 谷歌日曆api .net
- 10. 谷歌日曆API - JavaScript的
- 11. 谷歌日曆API asp.net C#
- 12. 谷歌日曆api提醒
- 13. 谷歌日曆api delphi
- 14. Java:谷歌日曆API
- 15. 谷歌日曆API OAUTH
- 16. 谷歌日曆API一旦
- 17. 谷歌日曆API v3 setRecurrence
- 18. 谷歌日曆v3 api
- 19. 請求谷歌日曆api
- 20. 谷歌日曆Api v3 EventDateTime
- 21. 谷歌日曆API時間
- 22. 在谷歌日曆API V3
- 23. 谷歌日曆API:在HTML
- 24. Perl谷歌日曆API
- 25. 谷歌的JavaScript API庫 - 日曆手錶通知
- 26. 谷歌日曆PHP API不返回nextsynctoken
- 27. 谷歌日曆API JS不工作
- 28. 谷歌日曆API V3 C#不工作
- 29. 谷歌日曆API不返回
- 30. 谷歌日曆API不工作
我們嘗試這種使用REST API,我們不能成功地阻止道。在通道停止之前是否有一段等待時間? – TaskBasic