Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 通过我的谷歌应用脚本设置谷歌日历V3 API推送通知 我想使用来监视多个日历,从而将这些日历中的所有事件更新到主日历,因此我需要使用监视/推送通知,以便每当这些cal中有新事件时,这些事件都会在主日历中自动推送/创建 但是,我面临以下问题:在API资源管理器下。大多数服务返回200 OK,但监视请求不工作除外_Google Apps Script_Push Notification_Google Api_Google Calendar Api - Fatal编程技术网

Google apps script 通过我的谷歌应用脚本设置谷歌日历V3 API推送通知 我想使用来监视多个日历,从而将这些日历中的所有事件更新到主日历,因此我需要使用监视/推送通知,以便每当这些cal中有新事件时,这些事件都会在主日历中自动推送/创建 但是,我面临以下问题:在API资源管理器下。大多数服务返回200 OK,但监视请求不工作除外

Google apps script 通过我的谷歌应用脚本设置谷歌日历V3 API推送通知 我想使用来监视多个日历,从而将这些日历中的所有事件更新到主日历,因此我需要使用监视/推送通知,以便每当这些cal中有新事件时,这些事件都会在主日历中自动推送/创建 但是,我面临以下问题:在API资源管理器下。大多数服务返回200 OK,但监视请求不工作除外,google-apps-script,push-notification,google-api,google-calendar-api,Google Apps Script,Push Notification,Google Api,Google Calendar Api,服务>日历API v3>Calendar.events.watch 我收到了下面的请求和回复 请求 POST https://www.googleapis.com/calendar/v3/calendars/mailid%40domain.com/events/watch?key={YOUR_API_KEY} { } 响应 400 OK { "error": { "errors": [ { "domain": "global", "reason": "required",

服务>日历API v3>Calendar.events.watch

我收到了下面的请求和回复

请求

POST https://www.googleapis.com/calendar/v3/calendars/mailid%40domain.com/events/watch?key={YOUR_API_KEY}
{
}
响应

400 OK
 {
"error": {
 "errors": [
  {
   "domain": "global",
   "reason": "required",
   "message": "entity.resource"
  }
 ],
 "code": 400,
 "message": "entity.resource"
}
}
然后我按照下面的谷歌文档进行了跟踪

注册您的域:

步骤1:验证您是否拥有该域

步骤2:注册你的域名

我在google网站管理员工具中验证了我的域/通知。 我的验证域如下所示:

并在谷歌开发者控制台推送下的webhooks中添加了我的域名,如中所述

这里有什么我遗漏的吗,plz我的域中的SSL证书有问题吗,我如何至少在API资源管理器中进行测试,以便得到一个返回码200 OK。之后,我需要通过Google Apps脚本实现这个推送/观看

是否有用于应用程序脚本使用推送通知的文档


任何提示,提示都会帮助我,我已经厌倦了过去一周的尝试和错误方法。

在你发布的请求中,正文是空的。在文档中有一个示例,您需要提供日历ID、web_挂钩和其他信息:

{
  "id": "01234567-89ab-cdef-0123456789ab", // Your channel ID.
  "type": "web_hook",
  "address": "https://example.com/notifications", // Your receiving URL.
  ...
  "token": "target=myApp-myCalendarChannelDest", // (Optional) Your channel token.
  "expiration": 1426325213000 // (Optional) Your requested channel expiration time.
  }
在创建推送通知时添加此信息

要使用应用程序脚本,您可以将服务与方法“fetch()”一起使用,然后您需要提供提到的参数,并以POST的形式进行调用

希望这有帮助

更新:我会写在这里有更多的空间

推送通知就是这样工作的。 -使用id、要监视的资源、要接收通知的地址和可选参数创建推送通知

-如果成功,服务器将监视该资源,并在对资源进行更改时向请求中提到的地址发送通知,描述更改

-服务器需要知道您收到了通知,因此从#1中提到的地址,您需要告诉服务器您收到了返回HTTP 200响应的通知。(为此,您需要一个正在侦听通知并发送响应的应用程序)

谢谢你的提问 1.-由于服务器将对url(您的web_hook地址)发出HTTP请求,所以Google要求url是安全的,这就是为什么要求它是HTTPS

2.-是的,如果没有该url,您将无法接收通知

3.-谷歌还需要验证您提供的url是否确实是您的,因此您需要提供url,然后谷歌将向您提供一个文件,您必须使该文件在该url中可用,然后谷歌将调用该url并检索该文件。然后你可以证明这个URL是你的。我不确定这个步骤是否可以通过应用程序脚本完成。实际上,您可以将脚本部署为web应用程序,但我不确定是否可以将其用于此目的。(您可以找到更多信息和验证url的不同方法)

-那是你自己创造的。在文件中指出了对此的建议

我希望这能澄清你的问题


你可以在这里检查工作原理,这个例子是针对驱动器的,但概念是相同的。

谢谢Gerardo,我尝试过,但又遇到了同样的问题。请在下面的链接中检查我的执行记录:嗨Gerardo,请在前面的评论中检查我的执行记录,任何更新,谢谢您仍然需要发送所需的参数。我看到你发送了类型和地址,但身份证也是必需的。亲爱的Gerardo,请告诉我,我们在过去的一周里被卡住了:1。我们是否严格需要在推式GDC下的webhooks中添加基于SSL的notif URL?2.我们是否也需要返回URL来获取通知?3.在何处创建此通知。URL(“),因为我正在使用谷歌应用程序脚本。4.从哪里获得频道ID?请真的帮助我们,G CAL API文档很糟糕,我们不能很好地使用。提前谢谢你的详细回答Gerardo,请参考下面的链接我不知道我错过了什么。可能是我的脚本有问题/应用错误。如果你有任何php示例文件,请与我分享或者其他脚本fr通知URL、接收URL等等?所以请提供帮助,抱歉fr总是打扰您。