Расширенные службы Google
Расширенные службы в Apps Script позволяют опытным разработчикам подключаться к определенным общедоступным API Google через более простые надстройки, чем использовать HTTP-интерфейсы представленные в языке. Расширенные службы - это, по сути, тонкие обертки вокруг этих API Google. Они работают так же, как встроенные сервисы Apps Script, например, они предоставляют автозаполнение, а приложение Script Script автоматически обрабатывает поток авторизации. Однако вы должны включить расширенную службу в консоли разработчика, прежде чем спользовать ее в скрипте.
Чтобы узнать, какие API-интерфейсы Google доступны в качестве расширенных служб, ознакомьтесь с разделом «Расширенные службы Google» справочника. Если вы хотите использовать Google API, который недоступен в качестве расширенной службы, просто подключитесь к нему, как и к любому другому внешнему API.
Расширенные службы или HTTP?
Каждая из расширенных служб Google связана с общедоступным API Google. В приложении скрипта вы можете получить доступ к этим API через расширенные службы или просто напрямую, обращаясь запросами API с помощью UrlFetch.
Если вы используете расширенный метод, Apps Script обрабатывает поток авторизации и предлагает поддержку автозаполнения. Тем не менее, вы должны включить расширенную службу, прежде чем сможете ее использовать. Кроме того, некоторые расширенные службы предоставляют только часть функций, доступных в API.
Если вы используете метод UrlFetch для прямого доступа к API, вы по существу обращаетесь к API Google как к внешнему API. С помощью этого метода можно использовать все аспекты API. Однако для этого требуется, чтобы вы сами обрабатывали авторизацию API. Вы также должны создавать любые необходимые заголовки и анализировать ответы API. Благодаря возможности редактирования файла манифеста API, которые поддерживают токены безопасности Google, позволяют автоматизировать процесс авторизации.
В общем, проще всего использовать расширенную службу, где это возможно, и использовать метод UrlFetch, когда расширенная служба не предоставляет необходимые вам функции.
Требования
Для включения расширенных служб требуется, чтобы у вас был доступ к проекту Cloud Platform. Когда вы работаете с проектом в Team Drives, ваш доступ к проекту Cloud Platform может быть ограничен; см. раздел «Руководство по проектам Cloud Project и Team Drives».
Возможно, вы захотите переключить ваш сценарий для использования стандартного проекта Cloud Platform, чтобы иметь прямой доступ к информации мониторинга API в панели инструментов API Console. Это также гарантирует, что вы и ваши сотрудники получили доступ к настройкам проекта Cloud Platform, пока сценарий находится в Team Drive.
Включение расширенных служб
Чтобы воспользоваться расширенной службой Google, выполните следующие действия:
- В редакторе сценариев выберите Ресурсы > Дополнительные функции Google ....
- В появившемся диалоговом окне нажмите переключатель включения / выключения рядом с сервисом, который вы хотите использовать.
- В нижней части диалогового окна нажмите ссылку для консоли Google API.
- В консоли нажмите в поле фильтра и введите часть имени API (например, “Drive”), а затем щелкните имя, как только увидите его.
- На следующем экране нажмите «Включить API».
- Закройте API-консоль и вернитесь в редактор сценариев. Нажмите ОК в диалоговом окне. Включенный расширенный сервис теперь доступен в автозаполнении.
Как определяются сигнатуры методов
Расширенные службы обычно используют одни и те же объекты, имена методов и параметры как и соответствующие общедоступные API, хотя сигнатуры методов переводятся для использования в Script Apps. Функция автозаполнения редактора сценариев обычно предоставляет достаточно информации для начала работы, но приведенные ниже правила объясняют, как Apps Script генерирует подпись метода из общедоступного API Google.
Запросы API Google могут принимать различные типы данных, включая параметры пути, параметры запроса, тело запроса и / или вложение для загрузки мультимедиа. Соответствующая подпись метода в скрипте Google Apps имеет следующие аргументы:
- Тело запроса (обычно ресурс), как объект JavaScript.
- Путь или требуемые параметры, как отдельные аргументы.
- Медиа вложения, как Blob аргументы.
- Необязательные параметры, как объект JavaScript, сопоставляющий имена параметров со значениями.
Если у метода нет элементов в данной категории, эта часть сигнатуры опущена.
Есть некоторые особые исключения, о которых нужно знать:- Для методов, которые принимают загрузку мультимедиа, параметр uploadType устанавливается автоматически.
- Методы с именем delete в API Google называются remove в Script Apps, так как delete является зарезервированным словом в JavaScript.
Поддержка расширенных служб
Расширенные услуги - это всего лишь тонкие обертки, которые позволяют использовать API Google в сценарии приложений. Таким образом, любая проблема, возникающая при их использовании, обычно является проблемой с базовым API, а не с самим скриптом Apps.
Если вы столкнулись с проблемой при использовании расширенной службы, следует сообщить о ней с помощью инструкций поддержки для базового API. Ссылки на эти инструкции по поддержке приведены в каждом расширенном руководстве по обслуживанию в разделе «Apps Script Reference».
Комментарии
Отправить комментарий