我正在尝试使用服务帐户通过 NodeJS 服务器连接到 Google Drive API。目标是让服务器能够以服务帐户身份进行身份验证、从驱动器检索相关文件并将其发送回用户,而无需用户直接登录 Google。这将使我能够通过网络应用程序控制文件访问,而不必通过云端硬盘手动共享和取消共享文件。根据我对 Google Drive API 的理解,这应该都是可能的。问题是我什至不知道如何验证我的服务器。服务器在AWS EC2实例上运行。澄清一下,我不希望用户必须使用前端界面进行身份验证。
我已按照快速入门指南进行操作,并按照此处的说明设置了服务帐户和密钥,但是在按照第二个链接中的说明创建密钥后,我似乎没有正确的credentials.json文件。在 Google 开发者控制台上生成密钥后获得的 JSON 文件具有以下对象密钥(有意删除的值):
type,,,,,,,,,,,,,project_idprivate_key_idprivate_keyclient_emailclient_idauth_uritoken_uriauth_provider_x509_cert_urlclient_x509_cert_url快速入门指南建议该文件应包含client_secret并redirect_uris位于某个installed对象 ( const {client_secret, client_id, redirect_uris} = credentials.installed;) 内:
尝试运行此快速入门文件会导致抛出index.js错误,因为. 在哪里可以生成必要的凭据文件?或者我完全走错了路?installedcredentials.json
像这样的帖子引用了旧版本的快速入门文档上的类似问题,但这里的解决方案没有帮助,因为client_secret我的凭据文件中没有密钥。