【发布时间】:2018-02-15 16:39:57
【问题描述】:
我正在为我部署的网络应用程序而苦苦挣扎。当“所有具有链接的人”都可以使用站点权限时,由于应用程序设置为“以我身份执行”,电子表格将从我的驱动器中正确删除并创建一个新文件。如果我限制对某些电子邮件地址的访问,代码将不再有效。
我尝试使用
传递令牌 var auth = ScriptApp.getOAuthToken();
var header = {
"authorization": "Bearer " + auth
};
var params = { 'method':'post', 'headers':header, 'muteHttpExceptions':true};
var response = UrlFetchApp.fetch(fileURL, params);
Logger.log(response);
不幸的是执行响应是
<HEAD>
<TITLE>Unauthorized</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>Unauthorized</H1>
<H2>Error 401</H2>
</BODY>
</HTML>
在我的驱动器中创建了一个带有 html 文本的 Google Doc,因此我认为可以访问,但权限有所改变。谁能指出我正确的方向?
编辑:
看起来脚本需要我重新登录,即使我正在传递 OAuth2 访问令牌。 https://developers.google.com/apps-script/reference/script/script-app#getOAuthToken()
Google 网站的范围已经到位,所以我不确定为什么我无法让响应正常工作。它在 UrlFetchApp 上失败了,但仅传递 OAuth2 令牌似乎还不够。
【问题讨论】:
-
谁有权访问该应用程序?是设置为“任何人”还是“任何人,甚至是匿名的”?
-
设置为“任何人”
标签: google-apps-script authorization google-oauth google-sites