#google-apps-script
Вопрос:
Я создал переменную для хранения идентификатора клиента (CLIENT_ID), но постоянно получаю сообщение об ошибке, в котором говорится, что идентификатор клиента необходим при запуске этой функции. У кого-нибудь есть хоть малейшее представление о том, что я здесь сделал не так?
function getAuth() {
var authBasedUrl = 'https://test-api.service.hmrc.gov.uk/oauth/authorize';
var response = UrlFetchApp.fetch(authBasedUrl, {
headers: {
'Accept' : 'application/vnd.hmrc.1.0 json',
'response_type': 'code',
'client_id' : CLIENT_ID,
'scope' : 'hello',
'redirect_uri' : 'https://www.xxxxxxx.com/'
}});
var result = JSON.parse(response.getContentText());
Logger.log(JSON.stringify(result, null, 2));
}
Ответ №1:
Основываясь на документах, которые вам нужны, чтобы сделать запрос на публикацию. На странице есть блок-маршрут, в котором говорится:
Включите параметры запроса в тело запроса, а не в заголовки запроса.
Редактировать:
function getAuth() {
var authBasedUrl = 'https://test-api.service.hmrc.gov.uk/oauth/token';
var options = {
headers: {
'Accept': 'application/vnd.hmrc.1.0 json',
"Content-Type": "application/json"
},
payload: JSON.stringify({
client_id: 'RgwU6hvdxxxxxxic6LwIt',
client_secret: '9e8c9yyyyyyyyyyc2fc2ed9126',
grant_type: 'client_credentials',
scope: 'hello'
})
}
var response = UrlFetchApp.fetch(authBasedUrl, options);
var result = JSON.parse(response.getContentText());
console.log(result);
}
Комментарии:
1. Спасибо, я попытался запустить ваш код, однако появилось другое сообщение об ошибке: «Исключение: запрос не удался для test-api.service.hmrc.gov.uk возвращенный код 400. Усеченный ответ сервера: {«ошибка»:»недопустимый запрос»,»описание_данных ошибок»:»требуется идентификатор клиента»} (используйте опцию muteHttpExceptions для проверки полного ответа)» есть идеи, почему это может быть проблемой? Я установил идентификатор клиента и секрет
2. Я обновил код. Я получил жетон, когда проверял его. Я пропустил тип контента
3. Я запустил код с моим идентификатором клиента и секретом, и он работает, спасибо!
4. Пожалуйста, отметьте ответ. @h-эдвардс