4

我正在尝试进行 Google 日历推送通知 API 调用(https://developers.google.com/google-apps/calendar/v3/push)。我想出了如何进行日历列表调用。所以,我相当有信心我的 Oauth 2.0 身份验证部分正在工作。我猜我需要指定推送通知调用是 POST。这是我的代码:

  var params = { calendarId: calendarId,
                 id: 'my-unique-id-00001',
                 type: "web_hook",
                 address: "https://mydomain.com/notifications" };
  client
    .calendar.events.watch(params)
    .withAuthClient(authClient)
    .execute(callback);

我不断收到此错误消息:

{ 错误:[ { 域:'global',原因:'required',消息:'entity.resource',debugInfo:'com.google.api.server.core.Fault:ImmutableErrorDefinition{base=REQUIRED,category=USER_ERROR,原因=com.google.api.server.core.Fault: Builder{base=REQUIRED, ...

4

1 回答 1

2

当我尝试使用 Google Drive API 观看某些内容时,我遇到了同样的问题。问题原来是某些参数需要在响应正文中。

在您的情况下,我认为 calendarId 需要是路径参数,而其他参数需要在请求正文中。像这样的东西应该工作

var pathParams = { calendarId: calendarId };
var bodyParams = {
    id: 'my-unique-id-00001',
    type: 'web_hook',
    address: 'https://mydomain.com/notfications'
};
client
    .calendar.events.watch(pathParams, bodyParams)
    .withAuthClient(authClient)
    .execute(callback);
于 2014-04-03T02:20:15.293 回答