Я хотел бы использовать учетную запись службы для доступа к Листу Google через приложение Script Execution API, но из документации не ясно, поддерживается ли это.
Шаги, которые я пробовал (которые приводят к статусу 403 из API выполнения):
- Создайте новые (несвязанные) приложения Script
- Посетите связанный проект консоли разработчика
- Включить API выполнения
- Создайте новую учетную запись службы в рамках одного проекта (загрузка сгенерированный файл JSON)
- Создайте новый лист Google и поделитесь им с учетной записью службы адрес электронной почты (это шаг, который я наименее уверен в)
- Записать приложение Script, которое читается из электронной таблицы
- Запустите Script вручную из редактора Script (чтобы установить области действия на Script правильно)
- Опубликуйте Script ( "Развертывание как исполняемый файл API" ), сделав его доступным для "кого"
- Отметьте новый токен OAuth2, используя учетную запись службы и области действия связанный с Script (в нашем случае просто 'https://www.googleapis.com/auth/spreadsheets')
- Попытка совершить вызов API выполнения с использованием токена
Это ответ, который я получил:
{
"error": {
"code": 403,
"message": "The caller does not have permission",
"status": "PERMISSION_DENIED"
}
}
Не работает ли это, потому что учетные записи службы никогда не могут получить доступ к API выполнения? Или что-то не так с вышеуказанными шагами?