Вам нужно будет добавить правильные области OAuth в файл манифеста вашего проекта Apps Script, а затем передать параметр access_token
(или заголовок Authorization
) вместо параметра auth
, который вы используете в данный момент. использовать.
Основываясь на Суть Дуга здесь , основные шаги:
- Откройте
manifest.json
в редакторе сценариев, нажав Просмотр > Показать файл манифеста .
Добавьте или измените манифест, чтобы иметь следующие области действия OAuth:
"oauthScopes": [
"https://www.googleapis.com/auth/userinfo.email",
"https://www.googleapis.com/auth/firebase.database",
"https://www.googleapis.com/auth/script.external_request",
"https://www.googleapis.com/auth/spreadsheets"
]
Эта последняя область предоставляет ей доступ к самой электронной таблице. Если вы используете другой тип GSuite (документ, слайды, форма и т. Д.), Вам потребуется область, соответствующая этому типу.
Теперь вы можете получить токен OAuth из вашего скрипта и добавить его к вашему запросу:
var response = UrlFetchApp.fetch(databaseUrl, {
method: "PUT",
headers: {
"Content-type": "application/json",
"Authorization": "Bearer "+ScriptApp.getOAuthToken()
},
payload: JSON.stringify(json)
});
Logger.log(response.getContentText());
Основным преимуществом этого является то, что ваш скрипт теперь будет работать от имени реального пользователя, а это означает, что вы можете гарантировать, что он может выполнять только авторизованные действия с помощью правил безопасности.