gpt4 book ai didi

node.js - 使用服务帐户进行 Google Sheets Api 授权

转载 作者:太空宇宙 更新时间:2023-11-03 23:13:25 24 4
gpt4 key购买 nike

我正在使用googleapis库 v44.0.0。当我尝试登录时,出现错误。

Google Sheets API has not been used in project 33120758 before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/sheets.googleapis.com/overview?project=33120758 then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.

我在同一项目上使用 google-auth-library 版本 ^ 0.10.0。而这个错误却不是。

const { google } = require("googleapis");
// ...
const JwtClient = new google.auth.JWT(
client_email,
null,
private_key,
["https://www.googleapis.com/auth/spreadsheets"]
);
await JwtClient.authorize();
google.options({ auth: JwtClient });

// ...
const client = google.sheets({ version: "v4" });
const data = await client.spreadsheets.get({ spreadsheetId: myId});

最佳答案

  • 您希望通过服务帐户使用 Sheets API。
  • 您希望使用 googleapis 和 Node.js 来实现此目的。

如果我的理解是正确的,那么修改一下怎么样?

修改后的脚本:

从:
await JwtClient.authorize();
google.options({ auth: JwtClient });

// ...
const client = google.sheets({ version: "v4" });
const data = await client.spreadsheets.get({ spreadsheetId: myId});
到:
const client = google.sheets({ version: "v4", "auth": JwtClient });
const data = await client.spreadsheets.get({ spreadsheetId: myId});
console.log(data.data)

注意:

  • 如果您想从自己的 Google 云端硬盘上的电子表格中检索数据,请通过服务帐户的电子邮件共享该电子表格。这样,可以从服务帐户检索电子表格。请小心这一点。

在我的环境中,我可以确认修改后的脚本有效。但如果这没有解决您的问题,我深表歉意。

关于node.js - 使用服务帐户进行 Google Sheets Api 授权,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58565907/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com