2017-07-25 95 views
0

我在我的Android应用中使用谷歌驱动器我的应用程序会自动将照片上传并上传至驱动器,但问题在于身份验证时,它会在我第一次打开应用时要求选择Google帐户,我可以编程方式给我的凭据,并进行身份验证,以便我可以避免选择和用户界面的认证这一步。Android应用中的Google Drive Api身份验证

回答

0

您可以参考这个link。这可以通过Oauth2 Playground在https://developers.google.com/oauthplayground完成。

步骤: -

  1. 创建谷歌帐户(如[email protected]
  2. 使用API​​控制台注册mydriveapp(https://console.developers.google.com/apis/credentials/oauthclient?project=mydriveapp 或只是https://console.developers.google.com/apis/
  3. 创建一个新的证书(NB OAuth Client IDService Account Key,然后从 选择选择“Web应用程序”)
  4. 包括https://developers.google.com/oauthplayground作为一个有效的重定向URI
  5. 注意客户端ID(Web应用程序)和客户端秘密
  6. 登录为[email protected]
  7. 进入到OAuth2操场
  8. 在设置(齿轮图标),设置* Oauth流量:服务器*访问类型:离线*使用您自己的OAuth凭据:TICK *客户端 Id和客户端秘密:来自第5步
  9. 单击第1步并选择Drive API https://www.googleapis.com/auth/drive ,这 技术也适用于任何的列出的Google API)
  10. 单击授权API。您将被提示选择您的Google帐户并确认访问
  11. 单击步骤2和“Exchange令牌的授权代码”
  12. 将返回的Refresh令牌复制并粘贴到您的应用程序,源代码或某种形式的存储从你的应用可以检索 的地方。

您也可以使用Service Account。但是,它会为应用创建一个虚拟云端硬盘帐户,而不是允许应用访问您的常规云端硬盘帐户。检查this

+0

我已经完成了上述步骤,并且我有我的客户端ID,客户端密钥,刷新令牌和访问令牌,但是在我使用以下方法调用ui来选择帐户之前,如何在我的方法中使用这些令牌mGoogleApiClient = new GoogleApiClient .Builder(本) .addApi(Drive.API) .addScope(Drive.SCOPE_FILE) .addConnectionCallbacks(本) .addOnConnectionFailedListener(本) .build(); } mGoogleApiClient.connect(); –