2013-04-30 101 views
2

我有一个任务,将Android应用程序生成的文件写入应用程序用户帐户(或服务帐户)。 我一直在寻找任何帮助,发现this sample有没有办法从Android使用应用程序的帐户写入Google Drive

此示例应用程序预计用户帐户设置在手机上。 它还要求用户有权将文件写入驱动器帐户。

但考虑到我的应用程序使用“服务帐户”或申请帐户,它应:

  • 刻录到应用程序的谷歌云端硬盘帐户,不提示用户采摘的账户。因为可以保证用户的手机不会有应用程序帐户。

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

有没有可能?

回答

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(); 
+0

谢谢,完美的作品。轻微的mods:.setServiceAccountId(“[email protected]”)//客户端ID不起作用,需要电子邮件ID。 Drive.Builder需要一个.setApplicationName(“appName”) – Ram 2013-05-02 09:32:09

+0

是否可以使用这些更正来更新代码?从评论中不明确。 – cdavidyoung 2013-05-23 17:20:06

相关问题