获取资源/房间的Google API推送通知

时间:2016-04-29 19:07:24

标签: google-calendar-api

我试图让Google Calendar推送通知为资源(也称为会议室)工作。它们适用于用户日历,但是当我在资源上调用/监视时,它会成功创建。我得到了最初的" Sync"在服务器上打电话,但我再也没有收到过Google的回复。

我创建手表的方法是对管理员进行身份验证,并使用该令牌将管理员已添加为日历的资源添加到其列表中,以便将其显示在calendarList /中列表电话。我还打开了该日历管理员帐户的所有通知。

对于我可能做错了什么的任何想法?

1 个答案:

答案 0 :(得分:1)

确保您注册接收网址的域名。如果您打算使用https://domain.com/notifications作为接收网址,则需要注册https://domain.com.每个可观看的Google Calendar API资源在以下格式的URI中都有关联的watch方法:

https://www.googleapis.com/apiName/apiVersion/resourcePath/watch

您需要向资源的watch方法发送POST请求,以便为有关特定资源更改的消息设置通知通道。

POST https://www.googleapis.com/calendar/v3/calendars/my_calendar@gmail.com/events/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://domain.com/notifications", // Your receiving URL.
  ...
  "token": "target=myApp-myCalendarChannelDest", // (Optional) Your channel token.
  "expiration": 1426325213000 // (Optional) Your requested channel expiration time.
  }
}

每个通知通道都与特定用户和特定资源(或一组资源)相关联。除非当前用户拥有或有权访问此资源,否则watch请求将不会成功。

选中documentation