我的意图:
我想从acl.list()调用Google Calendar的API google script 使用UrlFetchApp.fetch()函数。
问题:
我的Google脚本在运行时自带有oauth令牌。问题是UrlFetchApp.fetch()是一个单独的http请求,需要oauth令牌才能工作。
问题:
如何在该脚本中手动调用的http请求中重用我(已授权的)apps-script使用的令牌。可能吗?如果没有,那么如何为此请求生成令牌?
理由:
ContactsApp使用起来很愉快,但它还没有所需的ACL功能。
我的(不工作)代码:
function pleaseHelp() {
var calId = "MY_CORRECT_CALENDAR_ID";
var url = "https://www.googleapis.com/calendar/v3/calendars/" + calId + "/acl";
var data = {
"foo" : "foo data",
"bar" : "data bar...",
};
var payload = JSON.stringify(data);
var options = {
"method" : "POST",
"contentType" : "application/json",
"payload" : payload
};
var response = UrlFetchApp.fetch(url, options);
Logger.log(response);
}
给出异常:“401需要登录”显然......
提前感谢您的帮助。
答案 0 :(得分:2)
您可以尝试https://gist.github.com/entaq/4079885和How to authorize with oauth 2.0 from appscript to Google APIs?
答案 1 :(得分:1)
您可以将令牌附加到您正在进行的通话中。
例如: https://www.googleapis.com/calendar/v3/calendars/ {cal id} / acl? access_token ='yourtoken'