当前位置: 首页 > 知识库问答 >
问题:

Google Drive API V3-推送通知

江煜
2023-03-14

从昨天早上开始,我一直在处理google drive API请求。

正如这里所解释的:https://developers.google.com/drive/api/v3/push

我正在尝试订阅发送此请求的通知:

Url:https://www.googleapis.com/drive/v3/changes/watch

Header :
Content-type: application/json
Authorization: Bearer my_auth_token

{
"id":"An ID generated",
"type":"web_hook",
"address":"my callback address",
}

响应为代码400,主体为:

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "required",
    "message": "Required parameter: pageToken",
    "locationType": "parameter",
    "location": "pageToken"
   }
  ],
  "code": 400,
  "message": "Required parameter: pageToken"
 }
}

此订阅请求不需要此参数,但此订阅请求需要此参数(相同的url..):https://developers.google.com/drive/api/v3/reference/changes/watch

是我遗漏/误解了什么还是留档有问题?

非常感谢。

共有2个答案

百里金林
2023-03-14

您可能会感到困惑,检查留档,如果您正在发出监视请求,它应该在这个帖子URLhttps://www.googleapis.com/apiName/apiVersion/resourcePath/watch下,而不是https://www.googleapis.com/drive/v3/changes/watch,这就是为什么您会收到错误“必需参数:pageToken”。

以下是完整的监视请求代码:

POST https://www.googleapis.com/drive/v3/files/fileId/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://yourdom.com/notifications", // Your receiving URL.
  ...
  "token": "target=myApp-myFilesChannelDest", // (Optional) Your channel token.
  "expiration": 1426325213000 // (Optional) Your requested channel expiration time.
}

别忘了先注册你的域名。希望这有帮助。

莫英喆
2023-03-14

pageToken参数是在下一页上继续上一个列表请求的标记。这应该设置为来自上一个响应的'nextPageToken'的值或来自getStartPageToken方法的响应,如我们在这里看到的。

因此,您应该将pageToken作为参数传递给URL:

https://www.googleapis.com/drive/v3/changes/watch?pageToken=YOUR_PAGE_TOKEN_NUMBER_HERE

例如:https://www.googleapis.com/drive/v3/changes/watch?pageToken=101

使用GET可能会很有趣https://www.googleapis.com/drive/v3/changes/startPageToken获取要列出的起始页面标记,并观察将来的更改。请参见此处

 类似资料:
  • 首先,我想声明我一直在研究推送通知和web通知之间的关系,但我有点困惑。 我从这里读到PWAs的推送通知在Safari上的iOS(iPhone)不起作用:从PWA向iOS发送推送通知 然而,如果iPhone用户使用的是Chrome,这是否意味着它们可以工作呢?或者推送通知在任何浏览器上对iPhone中的PWAs都不起作用? 这就把我带到了web通知。web通知在后台对PWAs起作用吗?我的问题是w

  • 如何通过Azure从我的UWP-App向不同设备上的应用程序的其他实例发送推送通知? 以下是注册设备以接收推送的说明。(这是可行的)第二部分是关于如何在控制台应用程序上发送推送(这也是可行的)https://azure.microsoft.com/en-us/documentation/articles/notification-hubs-windows-store-dotnet-get-star

  • 通过上面的行,我得到了一个URL,它将在大约一个月内有用。 现在我不可能做的是将推送通知发送到应用程序。 任何关于如何使用Uri和如何将信息发送到它的光我会很高兴,因为我的400错误,那是关于我的post消息的一些错误。 我可以在发布或调试模式下获得推送通知吗? 使用PHP可以完成带有正确Uri的推送通知吗?

  • 我有一些关于实现推送通知的问题。事情是, > 订阅对象中的所有数据都是必需的吗?或者只有终点。 如果用户登录的设备超过10台,我是否需要为每个设备存储订阅值?是这样的吗?还是应该存储上次登录设备的订阅值?如果是这样,那么其余9个将不会收到任何通知。 如果您正在存储所有loggedin设备的订阅值,那么用户是否登录了多个浏览器?他会在每个浏览器中收到通知吗?这是标准做法吗? 欢迎提出建议,任何标准做

  • 我正在尝试从远程服务器向应用程序进行非常简单的推送。 我已根据[1]在Azure上设置了通知中心,但我无法获取设备的调试消息。我不想使用移动服务从DB表读/写 我在Swift中这样做,但我在互联网上没有发现任何真正从服务器接收推送的是iOS Swift作为完整的教程。 例如,我不知道如何在swift中编写以下代码: 到目前为止,这是我在AppDelegate中的代码(我从[2]中获得的一些代码):

  • 问题内容: 我正在开发一个应用程序,在该应用程序中,我需要实现推送通知。谁能建议我应该如何实施推送通知?如果可以为我提供一个很好的教程,那就太好了! 谢谢。 问题答案: //在应用程序启动时调用 //清单文件中的更改 // ReceiverC2DM.java ..... //服务器端…新测试应用 ServerSimulator.java

  • 我使用城市飞艇在iOS 10(Swift)应用程序中接收推送通知。我遇到以下问题,请您帮助解决。 应用程序运行时无法隐藏通知 为了隐藏通知,我尝试了以下任务... > 删除委托方法func userNotificationCenter的实现(center:UNUserNotificationCenter,willPresent通知:UNNotification,withCompletionHand