从云功能访问表格,无需将表格共享到服务帐户

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

我需要阅读大量以编程方式与我共享的表格。 我已经能够使用下面的代码在本地计算机上阅读它并设置 GOOGLE_APPLICATION_CREDENTIALS

但是,当服务部署到 Cloud Function 时,尽管我已将服务帐户设置为与 GOOGLE_APPLICATION_CREDENTIALS 密钥文件中的帐户相匹配,但它无法访问该文件,因为调用者没有权限。

现在我不知道缺少什么权限或者我的实现是错误的。

const auth = await google.auth.getClient({
    scopes: ["https://www.googleapis.com/auth/spreadsheets.readonly","https://www.googleapis.com/auth/drive.readonly"],
    clientOptions: {
      subject: process.env.GOOGLE_IMPERSONATE_EMAIL,
    }
  })
google-sheets google-cloud-platform google-cloud-functions google-cloud-run service-accounts
1个回答
0
投票

您可以在这里找到解决方案

我将关键文件内容作为环境变量添加到云函数中,并按照下面答案中的说明进行操作

使用域范围委托和服务帐户的 Google OAuth

© www.soinside.com 2019 - 2024. All rights reserved.