【发布时间】:2013-05-24 08:20:32
【问题描述】:
我的 Android 应用需要向我的服务器发送一个授权代码,以便服务器可以使用它来获取用户的 Google Drive 帐户的访问令牌。我一直在试图弄清楚如何获取授权码,我在 Google API 文档 (Using OAuth 2.0 for Installed Applications) 中找到了这个:
此序列首先重定向浏览器(系统浏览器或 作为 Web 视图嵌入到应用程序中)到具有一组 指示 Google API 访问类型的查询参数 应用程序需要。像其他场景一样,谷歌处理用户 身份验证和同意,但序列的结果是 授权码。授权码在标题中返回 浏览器的栏或作为查询字符串参数(取决于 请求中发送的参数)。
应用收到授权码后,可以兑换 访问令牌和刷新令牌的代码。应用程序 显示其 client_id 和 client_secret(在应用程序期间获得 注册)和本次交换期间的授权码。之上 收到刷新令牌,应用程序应将其存储为 未来使用。访问令牌使您的应用程序可以访问 Google API。
现在我不确定如何在我的 Android 应用程序中获取此授权代码,因为我看到的 Android 示例似乎直接获取了访问令牌。我正在查看 Android AccountManager 类,它有一个方法 getAuthToken 但这似乎是指访问令牌而不是授权代码。
那么如何获取可以与服务器共享的授权码呢?如果可能的话,我将不胜感激一些示例代码。如果这不可能,有哪些可能的解决方法?
【问题讨论】:
标签: android oauth-2.0 google-drive-api google-oauth