2013-08-20 48 views
2

我對推送通知API有疑問。404推送通知API的「更改未找到」消息並獲取更改API

我在我的服務中爲推送通知創建了web_hook URL,因此我可以使用selfLink獲取文檔更改狀態的URL。

但是當我用selfLink獲取URL時,我有時會得到404代碼。

請讓我知道爲什麼Drive API響應404代碼有時。

方案:從谷歌推送通知服務器

請求體。

{ 
    "kind": "drive#changes", 
    "id": "12345", 
    "selfLink": "https://www.googleapis.com/drive/v2/changes/12345" 
} 

在我的服務器下抓取URL。

GET https://www.googleapis.com/drive/v2/changes/12345 

響應身體

{ 
"error": { 
    "errors": [ 
    { 
    "domain": "global", 
    "reason": "notFound", 
    "message": "Change not found: 12345" 
    } 
    ], 
    "code": 404, 
    "message": "Change not found: 12345" 
} 
} 

回答

4

對文件所做的變化通過隨後改變到該文件無效。

比方說你有改變#100,並得到它的推送通知。在發送更改之前,讓我們假設對文件進行了另一次編輯,更改戳記爲101.現在更改戳記101將使更改戳記100無效。

解決此問題的一種方法可能是更改> =您獲得的更改編號,並按fileId篩選。

同樣值得注意的是,即使您不進行任何編輯,也會更新它的上次瀏覽時間,從而生成新的更改,從而使較舊的更改戳變得無效。

+0

非常感謝@katric。 – user1998064