【发布时间】:2015-09-30 18:41:40
【问题描述】:
我正在编写一个在服务器上运行的控制台应用程序。我有用户的 gmail 地址和密码,该应用程序是使用 Gmail api 来获取 gmail 信息。我应该使用 oAuth 还是其他方式,以及哪种类型的 Client ID 是正确的选择?网络应用、服务器帐户或已安装的应用?
如果你能用中文回答,我将更加感激!谢谢!
【问题讨论】:
标签: c# oauth-2.0 google-api gmail-api
我正在编写一个在服务器上运行的控制台应用程序。我有用户的 gmail 地址和密码,该应用程序是使用 Gmail api 来获取 gmail 信息。我应该使用 oAuth 还是其他方式,以及哪种类型的 Client ID 是正确的选择?网络应用、服务器帐户或已安装的应用?
如果你能用中文回答,我将更加感激!谢谢!
【问题讨论】:
标签: c# oauth-2.0 google-api gmail-api
要回答您的问题,因为它是一个控制台应用程序,您应该创建一个 Client ID for native application。
你也应该知道
在 2015 年 4 月 20 日client login was shut down,您将无法再使用电子邮件和密码访问任何 Google API。
您需要使用来自用户的 Oauth2 请求身份验证,保存刷新令牌。为每个用户保存刷新令牌后,您将能够通过使用刷新令牌来运行控制台应用程序以获取新的访问令牌。
【讨论】:
如果没有 OAuth,您将无法从 Gmail 收件箱中获取用户的电子邮件。因此,首先您需要在 Google Developer Console 上创建一个 Web 应用程序才能开始。将这些凭据用于 OAuth2 循环并获得使用授权,这将生成一对 access_token 和 refresh_token。使用这对调用 Gmail API 并稍后获取用户的电子邮件。
通过以下网址阅读 Gmail API 指南: https://developers.google.com/gmail/api/
【讨论】: