当前位置: 首页 > 知识库问答 >
问题:

GMail REST API:使用Google凭据无需冒充

谢俊悟
2023-03-14

有没有可能在不使用模拟的情况下使用GMAIL REST API的谷歌凭证??

在我看到的许多GMAIL REST API示例中,必须使用与域和谷歌应用程序关联的模拟帐户。我只想使用GMAIL REST API服务器到服务器:

f、 e:

GoogleCredential  credential = new GoogleCredential.Builder().setTransport(httpTransport)
            .setJsonFactory(jsonFactory)
                         .setServiceAccountId(serviceAccountUserEmail)
                         **.setServiceAccountUser("myuser@mydomain.com)**
                         .setServiceAccountScopes(SCOPES)
                         .setServiceAccountPrivateKeyFromP12File(
                         new java.io.File(SERVICE_ACCOUNT_PKCS12_FILE_PATH))                                
                        .build();

问题是我没有任何域名,我只使用一个GMAIL帐户...但是我没有任何方法来授权,例如:MyMainGmailAcccoun@gmail.com

servive accCounid4xxxxxxxxxxxxxq@developer.gserviceaccount.com";是使用MyMainGmailAcccoun@gmail.com创建的"客户端帐户"

这是没有意义的,我不想冒充没有其他帐户的另一个域,我没有任何方法来正构化MyMainGmailAcccoun@gmail.com。

只有当你有一个帐户来模拟与谷歌应用程序相关的其他域,并获取谷歌应用程序时,这才有效。。。你需要一个域名。

有什么建议吗??

共有1个答案

郑卜鹰
2023-03-14

您可能只想简单地将OAuth 2.0用于网络服务器应用程序。假设您希望授权超过一小时,您可以使用刷新令牌。

 类似资料:
  • 我想使用脚本化方法(可能是通过)curl,从驱动器api访问一些简单的信息,例如创建日期。从本质上讲,我想在他们的Web界面中编写我可以做的事情:https://developers.google.com/drive/api/v3/reference/files/list。 我一直在使用curl命令,他们在上面的链接的查询中公开该命令: 我为此创建了一个API密钥(目前不受限制)。并使用此应用程序

  • 运行该命令后,我没有看到任何输出,也没有看到名为的系统环境变量(它应该出现在那里吗?)。 当我尝试运行一些基本的示例代码时: 即使在手动将该值添加到系统环境变量之后,我也会得到相同的错误。

  • 一些(但不是全部)Google帐户在尝试访问Google日历API时始终响应401,尽管Tokeninfo告诉我我正在使用的访问令牌具有适当的范围(请参阅下面的curl输出)。我可以使用刷新令牌成功获取新的访问令牌,但日历api继续到401。 有人知道为什么会发生这种情况吗?

  • 我有一个使用Firebase身份验证的node.js客户端。现在我想访问谷歌云存储,但是node.js的Firebase SDK不包括GCS。使用@google-云/存储工作,但只有匿名访问。如何将Firebase凭据应用到@google-Cloud/存储,以便在登录用户的上下文中访问GCS?

  • 当我尝试使用Google Cloud Spanner开源JDBC驱动程序进行连接时,我得到以下错误消息: 我不认为模拟器需要任何凭据才能在本地工作。有办法绕过这个错误吗?谢谢你。