DriveApp 和 GmailApp 服务无法在 Google Apps 脚本中同时工作

问题描述 投票:0回答:1

我在尝试同时使用 DriveAppGmailApp 时遇到了 Google Apps 脚本问题。情况是这样的:

  1. 当我单独调用DriveApp时,它会访问文件夹而不需要任何 问题。
  2. 同样,当我单独调用GmailApp时,它工作得很好并且 按预期检索电子邮件。
  3. 但是,当我尝试在中同时使用 DriveAppGmailApp 时 同样的脚本,我明白了
    以下错误: “例外:需要访问权限。”

代码.gs

function test () {
    let folder = DriveApp.getFolderById(FolderID);
    let threads = GmailApp.search('is:starred')
    let sheet = SpreadsheetApp.openById(sheetID)

    console.log({
        folder : folder,
        threads : threads,
        sheet : sheet
    })
}

当这两个服务在同一个脚本中一起调用时,会抛出错误。

错误:“异常:需要授权才能执行该操作测试@code.gs.2”

我尝试过的故障排除步骤:

  • 检查项目清单文件 (appsscript.json) 中的范围 确保包含 Drive 和 Gmail API。
  • 验证我已为这两项服务完全授权该脚本 在提示窗口中登录并授予权限。
  • 尝试将调用分离到不同的函数中,但是问题 合并时仍然存在。这可能是什么原因造成的,我该怎么办 解决它以在同一脚本中使用这两种服务吗?
  • 我尝试创建新项目并写出代码 刮擦但没有运气
  • 清除缓存通过不同浏览器登录等
google-apps-script google-drive-api gmail gmail-api
1个回答
0
投票

对我来说运行良好:

function test () {
    let folder = DriveApp.getFolderById(gobj.globals.testfolderid);
    let threads = GmailApp.search('is:starred')
    let sheet = SpreadsheetApp.openById(gobj.globals.test1id)

    Logger.log(JSON.stringify({
        folder : folder.getName(),
        threads : threads,
        sheet : sheet.getName()
    }))
}

Execution log
9:42:35 AM  Notice  Execution started
9:42:35 AM  Info    {"folder":"Testfolder","threads":[{},{},{},{},{}],"sheet":"Test1"}
9:42:37 AM  Notice  Execution completed
© www.soinside.com 2019 - 2024. All rights reserved.