有没有办法使用应用程序的帐户从Android写入Google云端硬盘

时间:2013-04-30 07:11:25

标签: android google-drive-api

我有一项任务是将Android应用生成的文件写入应用程序用户帐户(或服务帐户)。 我一直在寻找任何帮助,并找到了this sample

此示例应用程序希望在手机上设置用户帐户。 它还要求用户允许将文件写入驱动器帐户。

但鉴于我的应用程序使用“服务帐户”或应用程序帐户,它应该:

  • 写入应用程序的 Google云端硬盘帐户,而不提示用户选择帐户。因为保证用户的电话将会也不应该有应用程序帐户。

  • 不要求任何权限,因为用户不知道范围或驱动帐户信息。

有可能吗?

1 个答案:

答案 0 :(得分:2)

您可以使用服务帐户授权API,而无需用户选择帐户并询问权限。

GoogleCredential credential = new GoogleCredential.Builder().setTransport(HTTP_TRANSPORT)
    .setJsonFactory(JSON_FACTORY)
    .setServiceAccountId("[[INSERT SERVICE ACCOUNT EMAIL HERE]]")
    .setServiceAccountScopes(DriveScopes.DRIVE)
    .setServiceAccountPrivateKeyFromP12File(new File("key.p12"))
    .build();

Drive service = new Drive.Builder(
    new NetHttpTransport(),
    new GsonFactory(),
    credential).build();

// make requests
service.files().list().execute();