如何通过节点应用程序访问谷歌工作表数据(与我共享,仅读取访问权限)



我有一个共享的谷歌工作表,我只有视图访问权限。访问是通过我的谷歌帐户共享给我的。我想创建一个节点应用程序,它基本上可以获取数据,这样我就可以围绕它创建一个rest api,我想在前端使用它。

看起来我需要API密钥来获取数据。如何获得这些密钥,给定我的帐户只有视图访问

要从Node.js应用程序中访问另一个用户共享的工作表,可以使用服务帐户。如果授予您访问权限的用户也支持授予对所述服务帐户的访问权限,这将起作用。在您的Google API帐户的凭证部分创建一个服务帐户。服务帐户是使用生成的电子邮件地址创建的。请工作表所有者使用此电子邮件地址共享工作表(例如只读访问(。还要确保将服务帐户的密钥保存到JSON文件中,该文件可以由Google API客户端库加载。

如果您想了解更多关于Auth-Flow的详细信息,请查看Google OAuth2.0指南,尤其是准备进行授权的API调用中的HTTP/REST部分。

在Node.js中使用它的简单方法是使用Google API Node.js客户端。关于服务帐户凭据的部分告诉您如何使用密钥文件进行身份验证。

在下面找到一份列出的代码副本,显示如何指定密钥文件并指定用于spreadsheet.read-only.的范围

const {google} = require('googleapis');
const auth = new google.auth.GoogleAuth({
keyFile: '/path/to/your-secret-key.json',
scopes: ['https://www.googleapis.com/auth/spreadsheets.readonly']
});

生成的auth对象可用于调用Sheets API。有关详细信息,请查看谷歌提供的样本。只需使用上面构建的auth对象。

最新更新