Вот документация для API Spotify (я использую неявный поток грантов): https://beta.developer.spotify.com/documentation/general/guides/authorization-guide/#implicit-grant-flow
Я пытаюсь написать скрипт в Google Sheets.Я сосредотачиваюсь на базовой настройке, но не могу заставить работать токен доступа.
РЕШЕНО:
В настоящее время я получаю следующую ошибку (кажется, что мойпараметры для моего метода выборки установлены неправильно):
"ошибка": "unsupported_grant_type", "error_description": "тип_странта должен быть client_credentials, authorization_code или refresh_token"
РЕШЕНИЕ:
Тип grant_type должен быть указан как полезная нагрузка в соответствии с методом сценариев Google UrlFetchApp.fetch (см. Обновленный код ниже)
-
решено:
Как вы можете видеть ниже, я использую метод 'get' при попытке получить токен (несмотря на документацию, указывающую 'post'), потому что метод post последовательно возвращает ошибку 405.Я думаю, что это тот шаг, на котором я облажался.Я предполагаю, что я не должен использовать csrf_token в качестве токена доступа.
РЕШЕНИЕ:
https://accounts.spotify.com/token должно было быть https://accounts.spotify.com/api/token
Обновлен рабочий код ниже:
var fetchParams = {
'method':'post',
'payload':{'grant_type':'client_credentials'},
'headers':{'Authorization':authorization},
'muteHttpExceptions':true
}
var replaceResponse = UrlFetchApp.fetch('https://accounts.spotify.com/api/token', fetchParams);
var regExp = /access_token(.*?):/;
var contentText = replaceResponse.getContentText();
var access_token = contentText.slice(contentText.search('access_token')+15,contentText.search(',')-1);
var requestOptions = {
'headers':{'Authorization':'Bearer '+access_token},
'muteHttpExceptions':true
}
var finalResponse = UrlFetchApp.fetch('https://api.spotify.com/v1/tracks/4dhARBZ8YLvm8oRDnCIeXr', requestOptions);