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