POST запрос к API WB ошибка 401
Пробую сделать POST запрос к WB на получения отчета.
var options = {
method: 'post',
contentType: 'application/json',
'muteHttpExceptions': true,
headers: {
'Authorization': 'Basic ' + Utilities.base64Encode(apiKey)
},
payload: JSON.stringify({
'period': {
'begin': yesterday+' 00:00:01',
'end':yesterday+' 23:59:59'
},
'page': 1
})
try {
var response = UrlFetchApp.fetch(apiUrl, options);
Logger.log('response: ' + response);
} catch (error) {
Logger.log('Ошибка при выполнении запроса: ' + error);
}
Получаю такой ответ:
response: {
"title": "unauthorized",
"detail": "token problem; token is malformed: token contains an invalid number of segments",
"code": "167251cb759b-cc73ad3617b9d5c82732 84bd353bf-75 82f3f335ddde6c815fe840d4ee415696",
"requestId": "82f3f335ddde6c815fe840d4ee415696",
"origin": "s2sauth-ca",
"status": 401,
"statusText": "Unauthorized",
"timestamp": "2024-10-16T15:33:03Z"
}
На python3 c этим же ключом всё работает работает без проблем и я получаю данные через POST. Так же я могу получать отчеты по этому ключу через GET запросы.
Из описания API
Авторизация Добавляйте токен в заголовок запроса Authorization
Header parameter name: Authorization
Может кто-то подсказать что я не так делаю?
Ответы (1 шт):
Автор решения: Prianichkin Sergey
→ Ссылка
Токен авторизации нужно передавать в исходном виде. Например, вот так:
headers: {
Authorization: API_TOKEN,
accept: 'application/json',
contentType: 'application/json; charset=utf-8'
}