2013-04-30 102 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

相關問題