Использование ContactsApp из таблицы Google

Обзор: когда я вызываю ContactsApp.getContact() в функции GoogleAppsScript, эта функция прекрасно работает при запуске из редактора сценариев. Однако, когда я пытаюсь использовать свою функцию из таблицы Google, я получаю ошибку разрешения. Как я могу устранить эту ошибку разрешения и использовать ContactsApp из пользовательской функции в электронной таблице?

Подробности: я создаю новую электронную таблицу, открываю редактор сценариев и определяю следующую простую функцию:

function example() {
  ContactsApp.getContacts();
  return 5;
}

При первом запуске из редактора сценариев мне предлагается подтвердить доступ к моим контактам. Я даю одобрение, и функция работает нормально. Я могу добавить ведение журнала и убедиться, что он работает как положено.

Теперь вернувшись в электронную таблицу, я использую формулу '=example()' в ячейке, ожидая, что она установит значение ячейки равным 5. Вместо этого ячейка говорит "#ERROR!" и наведение мыши на ячейку показывает подробную ошибку:

You do not have permission to call ContactsApp.getContacts. Required permissions: https://www.google.com/m8/feeds (line 2)

Глядя на свойства проекта скрипта, я вижу, что https://www.google.com/m8/feeds действительно указан в качестве обязательного объема.

Как я могу устранить эту ошибку разрешения и использовать ContactsApp из пользовательской функции в электронной таблице?

1 ответ

Я нашел ответ в документации здесь: https://developers.google.com/apps-script/guides/sheets/functions

Unlike most other types of Apps Scripts, custom functions never ask users to authorize access to personal data. Consequently, they can only call services that do not have access to personal data, specifically the following: Cache HTML JDBC Language Lock Maps Properties Spreadsheet URL Fetch Utilities XML

Таким образом, использование ContactsApp в пользовательской функции в качестве желаемого вопроса в настоящее время не разрешено, поскольку потребуется авторизация, а пользовательские функции не позволяют этого.

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