Google Gmail API 的身份验证选项

问题描述 投票:0回答:2

刚刚开始使用 Google Rest API,特别是 Gmail API。我无法找到简单的示例和答案。

Gmail 的 Google API 是否需要 Oauth2?...或者可以使用 API 密钥和服务帐户的某种组合吗?如果我们不必使用 Oauth,我们就不会使用,但我找不到示例,而且谷歌文档对我来说也不清楚。我可以使用 Google 服务帐户获取访问令牌并将其与我的 API 密钥结合使用吗?

google-cloud-platform google-api gmail-api
2个回答
2
投票

Gmail 的 Google API 是否需要 Oauth2?

Gmail 访问私人用户数据。为了访问私人用户数据,您的应用程序需要数据所有者的许可才能访问它。 为此,我们使用 Oauth2。

或者可以使用 API 密钥和服务帐户的某种组合吗?

Api 密钥仅用于访问公共数据。您无法使用 api 密钥访问私人用户数据。

如果您在 Google Workspace 帐户上配置域范围授权,则服务帐户可以与 gmail api 一起使用。那么您的服务帐户将能够模拟域中的任何用户。

需要明确的是,服务帐户不能与标准 google gmail 帐户一起使用,它只能与工作区域帐户一起使用。


0
投票

Google api for .NET v 1.68 nuget 包允许 API 密钥代替 OAuth2 身份验证。不使用域的普通帐户,只有普通用户可以启用 API 密钥并将密钥范围缩小到仅 GMAIL。之后: 用途:

     GmailService service = new GmailService(new 
     BaseClientService.Initializer()
 {
     ApiKey= "myApiKey Here",     
     ApplicationName = "ApplicationName"
 });
© www.soinside.com 2019 - 2024. All rights reserved.