如何解释googleapioauth回调



我正试图通过我正在构建的sinatra应用程序访问我自己的gmail帐户。我正在以的形式向谷歌api发送请求

https://accounts.google.com/o/oauth2/auth?response_type=code&&scope=https://mail.google.com/+https://www.googleapis.com/auth/userinfo.email+https://www.googleapis.com/auth/userinfo.profile&client_id=XXXXXXXXXXXX.apps.googleusercontent.com&redirect_uri=http://localhost:9393/oauth2callback&access_type=online

在我通过谷歌的网络界面授权该应用程序后,我得到了一个似乎是对我自己的sinatra应用程序的正确回调。我不清楚在这个过程中我下一步要做什么。我从谷歌身份验证系统得到的东西看起来像

http://localhost:9393/oauth2callback?code=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY

然后我尝试使用xoauth gem来查询谷歌以获取有关我的帐户的信息,即,https://github.com/nfo/gmail_xoauth我希望上面的xxxxxx.yyyy字符串在某种程度上对应于:令牌,如xoauthgem文档中所写。当我运行一个本地脚本来检查事情是否正常工作时,我得到了一个Invalid credentials (Failure) (Net::IMAP::NoResponseError)

我用来理解oauth过程的文档是https://developers.google.com/accounts/docs/OAuth2WebServer

我认为我没有正确处理回调,或者我误解了它是什么。

想法?

Google最近才为GMail IMAP/SMTP添加了对OAuth 2授权的支持。但是,您正在使用的库还不支持此功能。

所以你的选择是:

  • 自己改进图书馆(我的建议是)
  • 正在等待库更新
  • 回退到已弃用的OAuth 1

最新更新