我正在努力使用我部署的网络应用。当“所有人都可以使用链接”获得网站权限时,当应用设置为“以我身份执行”时,会从我的驱动器中正确删除电子表格并创建新文件。如果我限制访问某些电子邮件地址,则代码将不再有效。
我尝试使用
传递令牌wordcount
不幸的是,执行响应是
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);
我的驱动器中创建了一个带有html文本的Google文档,因此我认为访问权限可用,但权限已发生变化。有人能指出我正确的方向吗?
修改:
看起来脚本需要我再次登录,即使我正在传递OAuth2访问令牌。 https://developers.google.com/apps-script/reference/script/script-app#getOAuthToken()
Google网站的范围已经到位,所以我不确定为什么我无法让响应正常工作。它落在UrlFetchApp上但只是传递OAuth2令牌似乎还不够。
答案 0 :(得分:0)
我认为您可以使用Manifest与“任何人”访问Web应用程序。请尝试执行以下操作。
appsscript.json
。
"oauthScopes": ["https://www.googleapis.com/auth/script.external_request", "https://www.googleapis.com/auth/drive"]
这样,ScriptApp.getOAuthToken()
检索的访问令牌具有上述范围。完成此设置后,请尝试再次运行您的脚本。在您的短信中,您可以使用auth
与“任何人”访问网络应用程序。
如果这不起作用,请再次重新部署Web Apps。因为可能无法反映最新版本的Web Apps脚本。
如果这对你没用,我很抱歉。