Google cloud platform 谷歌云项目可以';t运行';与之相关的是什么

Google cloud platform 谷歌云项目可以';t运行';与之相关的是什么,google-cloud-platform,scope,authorization,drive,Google Cloud Platform,Scope,Authorization,Drive,我有一个与谷歌云项目相关联的谷歌应用程序脚本。它们一起让最终用户将文件从第三方云存储平台同步到他/她的谷歌硬盘。GCP和GAS都设置为具有这两个作用域(/auth/drive、/auth/script.external\u request)。GCP范围已由谷歌云信任与安全团队配置和批准 但是,即使最终用户授权了我的应用程序,运行脚本也会失败。脚本代码: function doGet(e) { var blob = UrlFetchApp.fetch(e.parameters.url).get

我有一个与谷歌云项目相关联的谷歌应用程序脚本。它们一起让最终用户将文件从第三方云存储平台同步到他/她的谷歌硬盘。GCP和GAS都设置为具有这两个作用域(/auth/drive、/auth/script.external\u request)。GCP范围已由谷歌云信任与安全团队配置和批准

但是,即使最终用户授权了我的应用程序,运行脚本也会失败。脚本代码:

function doGet(e) {
  var blob = UrlFetchApp.fetch(e.parameters.url).getBlob();
  blob.setName(e.parameters.name);
  var file = DriveApp.createFile(blob);
  var folder = DriveApp.getFolderById(e.parameters.folder);
  file.moveTo(folder)
  return ContentService.createTextOutput(file.getId());
}
当用户需要同步文件(url)时,以下服务器代码调用GAS脚本


是脚本错误还是授权错误?我是谷歌云的新手,我发现自己很困惑。非常感谢您的帮助。

表面上看,您所做的看起来是正确的,但一些调试可能会有所帮助。尝试记录您生成的URL以确保其正确;您应该能够使用例如curl来针对您的脚本尝试此独立操作。另外,记录
doGet
接收到的
e
的值,很明显,它不包含
参数
,并且可能(也不应该)为空。
async upload(url: string, name: string, folder: string, token: IToken): Promise<IResult> {
        try {
            const payload = {
                url,
                name,
                folder
            } as any;
            const resp = await superagent
                .get("https://script.google.com/macros/s/AKfycbz06kJef54o2SQFtDCVB8qjwFE9j3kplr8ikmR1JVMiNZL3Bt2Q/exec")
                .set('Authorization', `Bearer ${token.access_token}`)
                .query(payload);
            return util.success(resp.body);
        } catch (e) {
            return util.fail(e);
        }
    }
TypeError: Cannot read property 'parameters' of undefined
    at doGet(Code:2:34)