2013-08-20 47 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