Ответ 1
Я считаю, что он говорит вам, что ресурс календаря "test" не найден. Вы создали календарь под названием "тест"? Если вы замените "test" на "primary" (ваш основной календарь), то Explorer должен работать.
Я попробовал пример вставки календаря отсюда: 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"
}
}
Я считаю, что он говорит вам, что ресурс календаря "test" не найден. Вы создали календарь под названием "тест"? Если вы замените "test" на "primary" (ваш основной календарь), то Explorer должен работать.
Для непрозрачного календаря JuanPablo, Re:
В случае непервичного календаря вам необходимо использовать идентификатор (в виде адреса электронной почты) в качестве calendarId.
Пример: Скажем, у вас есть календарь с названием "тест". Вы получаете свой идентификатор, подобный этому
GET https://www.googleapis.com/calendar/v3/users/me/calendarList?key={YOUR_API_KEY}
->
{
"kind": "calendar#calendarList",
...
"items": [
{
"kind": "calendar#calendarListEntry",
"etag": ...,
"id": "[email protected]",
"summary": "test",
"description": "Testing calendar for development of Calendar related applications",
...
}
}
]
}
Ваш POST будет выглядеть следующим образом
POST https://www.googleapis.com/calendar/v3/calendars/[email protected]/events?sendNotifications=false&fields=start&key={YOUR_API_KEY}
Я также получаю ту же проблему с s = вставкой события, получая конкретное событие. Но у меня есть альтернатива, просто укажите CalendarList asa = service.CalendarList.List().Execute(); перед выполнением кода, в котором вы получаете. Я не знаю, почему он работает после указания этого кода. Если вы найдете правильный путь, обновите его здесь, так как он будет потреблять больше количества квот.