Из документа кажется, что «Поток учетных данных клиента» использует базовую авторизацию.
Для того, чтобы использовать это, сначала вам необходимо получить «client_id» и «client_secret».
Пример сценария:
var clientId = "### client id ###"; // Please set here.
var clientSecret = "### client secret ###"; // Please set here.
var url = "https://accounts.spotify.com/api/token";
var params = {
method: "post",
headers: {"Authorization" : "Basic " + Utilities.base64Encode(clientId + ":" + clientSecret)},
payload: {grant_type: "client_credentials"},
};
var res = UrlFetchApp.fetch(url, params);
Logger.log(res.getContentText())
- Из образца скручивания,
grant_type
требуется для отправки в виде формы.
Результат:
В документе говорится, что ответ выглядит следующим образом.
{
"access_token": "NgCXRKc...MzYjw",
"token_type": "bearer",
"expires_in": 3600,
}
Примечание:
- Это простой пример сценария.Поэтому, пожалуйста, измените это для вашей ситуации.
- Я подготовил этот образец сценария по образцу завитка в документе.
Ссылка:
Редактировать:
В качестве следующей проблемы вы хотите получить токен доступа из возвращенного значения.Если мое понимание верно, как насчет этой модификации?Пожалуйста, измените мой скрипт следующим образом.
С:
Logger.log(res.getContentText())
Кому:
var obj = JSON.parse(res.getContentText());
Logger.log(obj.access_token)
- Когда значение возвращается из API, оно возвращается какстрока.Поэтому необходимо проанализировать его как объект, используя
JSON.parse()
.