使用电子邮件和密码授权Google API客户端,而不是手机弹出帐户

时间:2015-01-09 14:05:01

标签: android google-drive-api google-api-client

在某种意义上我想上传一些文件到驱动器。

现在通过Android应用程序上传内容,我需要使用应用程序授权Google帐户。 Google API客户端提供了存储在手机中的帐户选择弹出窗口。

现在,我想使用常用电子邮件ID和密码授权应用,用户可以不同,但​​上传的文件将上传到我的帐户。

用于弹出窗口的Google API客户端代码段:

GoogleApiClient mGoogleApiClient = new GoogleApiClient.Builder(this)
        .addApi(Drive.API)
        .addScope(Drive.SCOPE_FILE)
        .addConnectionCallbacks(this)
        .addOnConnectionFailedListener(this)
        .build();   

我想授权使用电子邮件ID和密码。

请帮我解决这个问题,因为我是google drive app的新手。

1 个答案:

答案 0 :(得分:0)

简答:不,您无法通过API使用电子邮件/密码进行身份验证。

Drive API主要围绕代表当前用户行事,而在这里,您应该希望它在您当前用户(不是您)的要求下代表您行事。

您可以尝试的方法:

由于您希望代表您行事,无论当前用户如何,您都可以使用相应的令牌设置服务器(请参阅:Implementing Server-Side Authorization),该服务器将为您上传文件。然后,您的Android代码将通过您的服务器而非Drive API直接上传文件。

另一种方法

如果您没有,或者不想设置自己的服务器,则可以始终在API中使用permissions insert。基本步骤是:

  1. 将文件上传到当前用户的云端硬盘
  2. 使用返回的文件ID,插入电子邮件地址的权限。