oauth2.0 访问Google图纸以创建图纸(GCP)

rmbxnbpk  于 2022-12-03  发布在  Go
关注(0)|答案(1)|浏览(143)

我想从firestore获取数据,并将所有数据添加到一个新的谷歌表中。创建表是我发现问题的地方。
据我所研究,我发现有3种方法来访问谷歌API,1)API密钥2)服务帐户3)Oauth忽略API密钥,
使用服务帐户时,我发现正在创建的工作表将由服务帐户所有,因此其他人无法删除它。
当使用Oauth时,我已经使用了来自GCP的OAuth json凭据,其中当我尝试在本地主机中使用它时,它会向我显示Google的日志记录屏幕,但当我在应用引擎中部署它时,它不会将其重定向到日志记录屏幕。https://developers.google.com/sheets/api/quickstart/nodejs这是我找到该方法的文档。
我发现了另一种方法,即访问令牌。即将访问令牌放入

const sheets = google.sheets({ version: "v4",headers:{ Authorization:`Bearer ${accessToken}` }});

但这是不可能的,因为在前端我正在使用

auth.onAuthStateChanged

它不给我提供访问令牌,只给我ID令牌。请帮助!

j5fpnvbx

j5fpnvbx1#

根据您的auth.onAuthStateChanged代码,您似乎使用Firebase身份验证在前端登录。
Firebase身份验证是基于JWT ID令牌的,它与OAuth令牌不同,您不能使用这样的ID令牌来调用Google Sheets API。
如果您在前端使用Google或其他OAuth提供商登录,您可以在使用该提供商登录Firebase之前从该提供商捕获OAuth令牌,然后使用OAuth令牌调用Google Sheets API。

相关问题