Как получить вложение в календаре Google с помощью Apps Script

Я написал скрипт Служб Google, который успешно присоединяет документ Google Sheets к вновь созданному событию Календаря. Следующий код показывает, как это достигается:

var eventObj = { 
    summary: eventName,
    start: {dateTime: startDate.toISOString()},
    end: {dateTime: endDate.toISOString()},
    attachments: [{
      'fileUrl': 'https://drive.google.com/open?id=' + fileID,
      'title' : 'Booking Sheet'
    }]
  };
  
  Calendar.Events.insert(eventObj, inStorePartiesCalendarID, {'supportsAttachments': true});

Это все работает отлично. Сейчас я пишу скрипт для итерации всех событий за определенный период времени и получения идентификаторов прикрепленных файлов.

Я могу успешно получить события, о которых я говорю, но у меня возникают проблемы с доступом к идентификатору прилагаемого Google Sheet.

Похоже, документация к API календаря говорит, что это возможно. Это взято из документации:

[attachments [].fileId, string]: идентификатор прикрепленного файла. Только для чтения. Для файлов Google Диска это идентификатор соответствующей записи ресурса Файлов в Drive API.

Если бы кто-нибудь мог помочь мне собрать все это вместе и показать мне способ получения идентификатора прилагаемого Google Sheet, это было бы очень признательно!

Спасибо:)

Райан

1 ответ

Решение

Вы хотите получить идентификаторы файлов из события. Если мое понимание верно, как насчет этого примера сценария?

Пример скрипта:

var inStorePartiesCalendarID = "### calendar ID ###";
var eventId = "### Event ID ###";
var res = Calendar.Events.get(inStorePartiesCalendarID, eventId, {fields: "attachments/fileId"});
var fileIds = res.attachments.map(function(e){return e.fileId});
Logger.log(fileIds)

Замечания:

  • В этом примере сценария предполагается, что вы уже знаете идентификатор события. Если вам нужен метод для получения идентификаторов событий. Пожалуйста, скажите мне.
  • Если вы хотите получить идентификатор файла и имя файла вложения, пожалуйста, используйте attachments(fileId,title) за fields,

Рекомендации:

Если я неправильно понимаю ваш вопрос, извините.

Другие вопросы по тегам