22

我从这里尝试了日历插入示例:https ://developers.google.com/google-apps/calendar/v3/reference/events/insert#examples 无论我使用哪个属性,我总是得到 404“未找到”错误。任何人都可以对此有所了解吗?非常感谢!!!

POST https://www.googleapis.com/calendar/v3/calendars/test/events?sendNotifications=false&fields=start&key={YOUR_API_KEY}

Content-Type:  application/json
Authorization:  Bearer ya29.AHES6ZQaT3-Tj_bviwaY9Xi3gDspuBbCtEKtidnZkTXuWpI
X-JavaScript-User-Agent:  Google APIs Explorer

{
 "end": {
  "date": "2012-07-11"
 },
 "start": {
  "date": "2012-07-09"
 }
}

响应:404 未找到

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "notFound",
    "message": "Not Found"
   }
  ],
  "code": 404,
  "message": "Not Found"
 }
}
4

4 回答 4

16

我相信它告诉您找不到日历“测试”资源。您是否创建了一个名为“测试”的日历?如果您将“测试”替换为“主要”(您的主日历),那么资源管理器应该可以工作。

于 2012-07-02T22:22:20.213 回答
3

致 JuanPablo,Re 非主日历:

非主日历的情况下,您必须使用id(以电子邮件地址的形式)作为calendarId

示例:假设您有一个名为“test”的日历。你得到它的id是这样的

GET https://www.googleapis.com/calendar/v3/users/me/calendarList?key={YOUR_API_KEY}
->
{
 "kind": "calendar#calendarList",
...
 "items": [
  {

   "kind": "calendar#calendarListEntry",
   "etag": ...,
   "id": "123example123example123xxx@group.calendar.google.com",
   "summary": "test",
   "description": "Testing calendar for development of Calendar related applications",
...
   }
  }
 ]
}

您的 POST 将如下所示

POST https://www.googleapis.com/calendar/v3/calendars/123example123example123xxx@group.calendar.google.com/events?sendNotifications=false&fields=start&key={YOUR_API_KEY}
于 2014-05-13T12:36:10.810 回答
1

可能有两个问题:a)。您的日历 ID 不正确。您可以通过以下步骤找到它-

  1. 在谷歌日历界面,找到左侧的“我的日历”区域。
  2. 将鼠标悬停在您需要的日历上,然后单击向下箭头。
  3. 将出现一个菜单。点击“日历设置”。
  4. 在屏幕的“日历地址”部分,您将看到您的日历 ID。它通常是您的邮件 ID 或主邮件。

b) 未经授权使用的每日限制可能已超过。通过 https://www.googleapis.com/calendar/v3/calendars/primary12/events?alt=json primary12 检查它是您的日历名称

于 2018-08-02T01:34:10.933 回答
-3

在获取特定事件时,我也遇到了与 s=inserting 事件相同的问题。但我有一个替代方案,只需指定 CalendarList asa = service.CalendarList.List().Execute(); 在执行您获得的代码之前。我不知道指定此代码后它运行的原因。如果您找到正确的方法,请在此处更新它,因为它会消耗更多的配额计数。

于 2013-09-25T06:27:27.250 回答