在 phone 弹出窗口中使用电子邮件和密码而不是帐户授权 Google API 客户端

Authorize Google API client using email and password instead of Account on phone popup

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

现在要通过 android 应用程序上传东西,我需要使用应用程序授权 Google 帐户。 Google API 客户提供帐户选择弹出窗口,存储在 phone.

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

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

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

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

请帮助我解决这个问题,因为我是 google 驱动器应用程序的新手。

简短回答: 不,您不能通过 API.

使用 email/password 进行身份验证

Drive API 主要围绕代表当前用户行事,而在这里它应该像你希望它代表你行事,根据当前用户(不是你)的要求.

您可以尝试的方法:

由于您希望它代表您行事,无论当前用户是什么,您都可以使用适当的令牌设置服务器(参见:Implementing Server-Side Authorization),该服务器将为您上传文件。然后,您的 Android 代码将通过您的服务器上传文件,而不是直接 API 驱动器。

另一种方法:

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

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