Я пытаюсь позвонить в новый API Basecamp с помощью скрипта Google Apps. ПОЛУЧИТЕ, я могу это сделать. ПОСТ, не так много.google apps script post basecamp
Начиная с пути
https://basecamp.com/xxxxxxx/api/v1/projects/xxxxxxx/todolists.json
Мой код:
var headers = {
'User-Agent' : BCuseragent,
'Authorization' : 'Basic ' + Utilities.base64Encode(BCuser + ':' + BCpass),
'Content-Type' : 'application/json',
'Accept' : 'application/json',
'validateHttpsCertificates' : false
}
function getBC(path) {
var url = BCurl + path;
var opt = {
'headers' : headers,
'method' : "GET"
};
var response = UrlFetchApp.fetch(url, opt);
return response;
}
function postBC(path, payload) {
var url = BCurl + path;
var opt = {
'headers' : headers,
'method' : "POST",
'payload' : JSON.stringify(payload)
};
var response = UrlFetchApp.fetch(url, opt);
return response;
}
полезной нагрузки я передаю в качестве параметра:
{name: "foo", description: "bar"}
getBC
функция работает (200 OK
), функция postBC
возвращает 403
. Тем не менее, я являюсь владельцем проекта, и я использовал завиток и клиент Chrome REST, чтобы подтвердить, что могу на самом деле POST новых todolists в этот проект с тем же авторизацией.
Очевидно, что мои заголовки некорректны, но я не вижу, как это сделать.
К сожалению о слабом названии вопроса; Я где-то сбился с пути. – argybarg