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