首页 > 解决方案 > 在 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”)”

标签: google-apps-scriptoauth-2.0

解决方案


出于某种原因,无法打开同意对话框供您(脚本创建者)对其进行授权。要做到这一点,请添加一个调用 DriveApp 的函数并运行它。然后应该向您显示同意屏幕以进行授权。然后你可以运行 oneoff 函数。

function runThenDeleteMe() {
  DriveApp.getFiles();
}

推荐阅读