有没有办法从Android使用应用程序的帐户写入Google Drive
问题描述:
我有一个任务,将Android应用程序生成的文件写入应用程序用户帐户(或服务帐户)。 我一直在寻找任何帮助,发现this sample有没有办法从Android使用应用程序的帐户写入Google Drive
此示例应用程序预计用户帐户设置在手机上。 它还要求用户有权将文件写入驱动器帐户。
但考虑到我的应用程序使用“服务帐户”或申请帐户,它应:
刻录到应用程序的谷歌云端硬盘帐户,不提示用户采摘的账户。因为可以保证用户的手机不会有应用程序帐户。
不要求任何权限,因为用户不知道范围或驱动器帐户信息。
有没有可能?
答
您可以使用服务帐户授权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();
谢谢,完美的作品。轻微的mods:.setServiceAccountId(“[email protected]”)//客户端ID不起作用,需要电子邮件ID。 Drive.Builder需要一个.setApplicationName(“appName”) – Ram 2013-05-02 09:32:09
是否可以使用这些更正来更新代码?从评论中不明确。 – cdavidyoung 2013-05-23 17:20:06