2014-08-22 4 views
2

Есть способ опубликован here, который предположительно позволяет приложению получить event (скопировано ниже для удобства). event, претензии по формуле будут возвращены с его resources.Где я могу найти eventId в Календаре Google?

event = service.events().get(calendarId='primary', eventId='eventId').execute() 

print event['summary'] 

Что я должен предоставить вместо строки eventId? Я создал поддельные события в моем календаре (например FakeEvent1 и FakeEvent2), но с использованием FakeEvent2 как строка приводит к ошибке event not found.

Я знаю, что я успешно взаимодействует с Calendar API, потому что, когда я использую метод list, он возвращает список, который действительно содержит FakeEvent2. Проблема заключается в том, что имя события не может использоваться в качестве строки 'eventId'. Я даже попытался заменить имя события различными свойствами, возвращаемыми во время вызова list, например, описанием события и событием etag, но безрезультатно.

+0

По рекомендации чата я опубликовал новый вопрос (хотя он разделяет заголовок со старым вопросом). Изменения были отклонены, потому что они поставили вопрос существенно другим (следовательно, рекомендация по его повторению). –

ответ

1

Вы можете получить это из метода list, как показано на странице документации, на которую вы ссылаетесь для этого метода. В нижней части этой страницы есть проводник API: нажмите «Авторизовать запросы» и примите всплывающее окно, затем введите «primary» в поле calendarId и нажмите «выполнить». Вы увидите список событий в календаре, каждый из которых имеет поле «id»: вы можете использовать этот идентификатор в своем методе get.

+0

Да, я использовал метод 'list' через api explorer. Тем не менее, я хочу воспроизвести результаты на своем рабочем столе. Как мне это сделать? –

+0

Я не понимаю вопроса. Вы также можете использовать метод списка в своем приложении и получить идентификаторы оттуда для использования в методе get, если это то, что вы хотите сделать. –

1

Когда вы вставляете событие через API, возвращаемый API API Events resource содержит параметр id, созданный серверами API.

Если вы создали событие вручную, то eventId сложнее найти. Вы можете использовать метод list() с параметром ?q для поиска события.

Я не разработчик Python, но на основе these Python examples, я бы ожидать, что-то вроде этого:

service.events().list(calendarId='primary', q='FakeEvent1') 
+0

Что такое синтаксис для использования параметра '? Q'? –

+0

Добавлен пример – David

+0

Я попробовал, но получил результат 'TypeError: Получил неожиданный аргумент ключевого слова" q "'. Поэтому я заменил 'q = 'FakeEvent1'' на'? Q =' FakeEvent1'' (используя исходную рекомендацию), но это привело к 'SyntaxError: недопустимый синтаксис' в'? '. В любом случае спасибо! –

0

Я хотел бы добавить, что предоставление «идентификатор» дает EVENTID.

т.е .:

print event['id'] 

Я имел вопросы, проходящие через список событий, удаляя те, в мое время поиска. В обзоре API Google для list имя свойства «id» не включено. Однако вызов метода list в проводнике (как предлагается принятым ответом) показывает имя свойства, указанное в списке.