google-apps-script - 在 appscript 中使用 OAUTH2.0 进行身份验证的最可行方法是什么?
问题描述
代码示例:
var propertyStore = PropertiesService.getScriptProperties();
//Logger.log(DriveApp.getFileById('1c4azrEgTFk7ujAF7dn2SL3whXEnTF6Mg'));
cGoa.GoaApp.setPackage(propertyStore,
cGoa.GoaApp.createServiceAccount (DriveApp , {
packageName: 'mypackage',
fileId: '1c4azrEgTFk7ujAF7dn2SL3whXEnTF6Mg',
scopes: cGoa.GoaApp.scopesGoogleExpand(['https://www.googleapis.com/auth/devstorage.full_control']),
service: 'google_service'
}));
但没有注释行会显示错误:
您无权调用 DriveApp.getFileById。所需权限:https ://www.googleapis.com/auth/drive (第 256 行,文件“GoaApp”,项目“cGoa”)”
解决方案
出于某种原因,无法打开同意对话框供您(脚本创建者)对其进行授权。要做到这一点,请添加一个调用 DriveApp 的函数并运行它。然后应该向您显示同意屏幕以进行授权。然后你可以运行 oneoff 函数。
function runThenDeleteMe() {
DriveApp.getFiles();
}
推荐阅读
- java - 逐个字符比较字符串和文本
- wordpress - 更新后的 Wordpress Shorcode 不起作用 - 如何调试?
- java - 添加 `-Dcom.sun.management.jmxremote` 作为 VM 参数会停止服务器
- html - 有链接点击触发独特的切换按钮吗?
- python - 如何遍历字典列表以提取值
- git - Git 和 OSX 消息(导致冲突)
- android - 如何让我的 android 应用程序与树莓派 3 上的 Flask 服务器交互?
- javascript - fileReader.readAsText 返回一个带引号的字符串
- asp.net - 在 webform 项目中调用 ConfigureAwait(false) 后进行 UI 更改
- android - 如何按顺序执行工作经理任务(当您没有同时完成所有工作时)