У меня нет опыта работы со скриптом Google Apps. Мне нужно связаться с внешним API, но я продолжаю получать ответ {"error": "Authentication fail"}.
Я ценю, если кто-то может дать мне подсказку, что я должен изменить в своем коде. Я думаю, что я написал часть авторизации неправильно (в документации API написано: Authorization: WebpageToken realm = "api", apikey = "testkey123")
Ниже приведена документация API, которую я пытаюсь получитьна работу.
«API-документация: некоторые функции интерфейса: обязательства, сотрудники, корпорации, клиенты /: id
Связь через API выполняется RESTful-введите HTTPS-запросы, которые отправляются по адресу: https://the.webpage.com/{CUSTOMER_ID}/api/{ENDPOINT} Где {CUSTOMER_ID} - это персональный идентификатор, а {ENDPOINT} - это функция интерфейса. Формат ответа: JSON.
Пример запроса (из документации):
GET /1200/api/customers/1 HTTP/1.1
Host: the.webpage.com
Accept: application/json
Authorization: WebpageToken realm="api", apikey="testkey123"
”
Я попытался найти правильныйспособ написания авторизации с помощью поиска в stackoverflow и документации, но безуспешно.
МОЙ КОД в Google Apps Сценарий:
function getCorporates(){
var ENDPOINT = "corporates";
var apiKey = ”testkey123”; //example
var CUSTOMER_ID = 1234; //example
var options = {
"method":"GET",
"muteHttpExceptions": true,
"Authorization":{
"WebpageToken":{
"realm":"api",
"apikey" :apiKey
}
}
};
var url = "https://the.webpage.com/" + CUSTOMER_ID + "/api/" + ENDPOINT;
var response = UrlFetchApp.fetch(url, options); // get api endpoint
var json = response.getContentText(); // get the response content as text
Logger.log(json); //log data to logger to check
}
Этот код должен возвращать объект JSON. В настоящее время я получаю ответ {"error": "Ошибка аутентификации"}.
Обратите внимание, что мне пришлось "скрыть" название компании, поэтому в этом случае оно было изменено на the.webpage.com, который не являетсяреальный адрес API, на который я пытаюсь позвонить.
Спасибо за помощь!