Google Calendar.Insert API возвращает 400 «требуется» - PullRequest
8 голосов
/ 26 февраля 2012

Я пытаюсь создать календарь с помощью Google JavaScript API.Проверка подлинности OAuth работает нормально: я могу получить список календарей, используя:

gapi.client.calendar.calendarList.list();

Однако, когда я пытаюсь создать календарь с:

gapi.client.calendar.calendars.insert(
{
    "summary": "A New Calendar",
    "description": "Generated by Ben",
    "timezone" : "Australia/Sydney"
});

, я получаю

{
  "error": {
  "code": 400,
  "message": "Required",
  "data": [
   {
    "domain": "global",
    "reason": "required",
    "message": "Required"
   }
  ]
 },
 "id": "gapiRpc"
}

В doco для других API показывает этот ответ, но со списком необходимых аргументов, которые отсутствуют.

Есть ли способ определить, что«обязательный» параметр я пропускаю?Я протестировал его с помощью API Explorer , и мои параметры работают нормально.

1 Ответ

22 голосов
/ 28 февраля 2012

Наконец-то понял это.Свойства должны находиться в объекте 'resource':

gapi.client.calendar.calendars.insert(
{
    "resource" :
    {"summary": "A New Calendar",
    "description": "Generated by Ben",
    "timezone" : "Australia/Sydney"}
});

Документ не упоминает об этом, но если вы посмотрите на ответ на первоначальный вызов gapi.auth.authorize, вы найдете JSON, описывающийвесь API для указанной вами области.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...