Скрипт Google Apps и внешний API
Если я не ошибаюсь, в соответствии сдокументацией UrlFetch я должен быть в состоянии вызватьNew Basecamp API из скрипта Google Apps. Я подозреваю, что мое замешательство происходит из-за ошибки форматирования газа (и того факта, что я только начинаю все это). Я уже давно гуглил это. Вот что у меня есть и ошибка, которую я получаю от газа:
Микод в Газе:
function myFunction() {
var url = "https://basecamp.com/******/api/v1/projects.json";
var headers = {
"contentType": "application/json",
"headers":{ "User-Agent": "MY_APP_NAME",
"username:password" : "user:pass"},
"validateHttpsCertificates" :false
};
var response = UrlFetchApp.fetch(url, headers);
var text = response.getResponseCode();
Logger.log(text);
}
Сообщение об ошибке газа:
Request failed for https://basecamp.com/2166446/api/v1/projects.json returned code 401.
Server response: HTTP Basic: Access denied. (line 9, file "Code")
Я надеюсь, что это разумный вопрос, и благодарю вас за помощь.
1 ответ:
Правильный заголовок для HTTP Basic Authentication , который использует
Utilities.base64Encode
, заключается в следующем:"headers": { "User-Agent": "MY_APP_NAME (App URL/your email address)", "Authorization": "Basic " + Utilities.base64Encode(username + ":" + password) },