2013-02-07 18 views
1

共享文件我已經成功上傳文件到驅動器和其他帳戶的權限插入共享。所有這些工作。但是,當我從其他帳戶嘗試列出了共享文件下載,它返回不存在的文件。service.files()。名單()。setQ(「sharedWithMe」)不返回我的Android應用程序

有誰知道如何中檢索那些來自其他用戶的共享文件?

這裏是我試過。

private class RetrieveAllShareFiles extends AsyncTask<String, Void, String> { 
    @Override 
    protected String doInBackground(String... arg0) { 
    Files.List request = null; 
    try { 
     request = service.files().list().setQ("sharedWithMe"); 
    } catch (IOException e1) { 
    // TODO Auto-generated catch block 
     e1.printStackTrace(); 
    } 
    do { 
     try { 
      FileList files = request.execute(); 
      filesResult.addAll(files.getItems()); 
      request.setPageToken(files.getNextPageToken()); 
     } catch (IOException e) { 
      System.out.println("An error occurred: " + e); 
      request.setPageToken(null); 
     } 
    } while (request.getPageToken() != null && 
     request.getPageToken().length() > 0); 
    return "Executed"; 
    } 
+0

什麼的OAuth範圍是您使用?你能看到其他用戶的Drive UI中的共享文件嗎? –

+0

使用: 憑證= GoogleAccountCredential.usingOAuth2(此,DriveScopes.DRIVE_FILE); 是的,藉助Google雲端硬盤用戶界面,我可以看到共享文件。當我嘗試這樣做: credential = 在files.list()請求上,我收到以下異常: 原因= UserRecoverableAuthException detailMessage =「NeedPermission」 – user2051851

回答

1

當使用drive.files範圍你的應用程序將只能訪問已與它或用戶正在從驅動器UI打開創建的文件。 當文件與其他用戶共享,他將無法看到它使用drive.files範圍。對於這種用例,您應該請求訪問完整的雲端硬盤範圍。

檢查可用的OAuth範圍的文檔瞭解更多信息:https://developers.google.com/drive/scopes

+0

謝謝。它現在工作! – user2051851

相關問題