2013-08-23 72 views
0

我正在谷歌驅動器integration.i已獲取api訪問鍵使用谷歌控制檯,也完成oauth2 authentication.i已經使用谷歌日曆集成和其工作正常,但當我整合驅動器想要檢索文件列表其返回empty.I不知道什麼是錯的。以下是我的代碼。感謝在高級。谷歌驅動器FileList返回空項

public class RetriveFromDrive extends AsyncTask<Void,Void,Void> 
    { 
     List<File> result=new ArrayList<File>(); 
     Files.List request; 

     @Override 
     protected Void doInBackground(Void... params) { 
      try{ 
      // TODO Auto-generated method stub 
      Log.d("Msg", "Do in Background"); 
      request=gDrive.files().list(); 
      Log.d("Msg", request.toString()); 
      FileList file =request.execute(); 
      result.addAll(file.getItems()); 
      names=new ArrayList<String>(); 
      for (File file1 :result) { 
       names.add(file1.getTitle()); 
       Log.d("Names", names.toString()); 
      } 
      }catch(Exception e) 
      { 
       e.printStackTrace(); 
      } 
      return null; 
     } 
     @Override 
     protected void onPostExecute(Void params) { 
      // TODO Auto-generated method stub 
      super.onPostExecute(params); 
      Log.d("Msg","onPostExecute"); 
      Log.d("Names",names.toString()); 


     }` 

回答

1

您正在使用應用程序擁有的帳戶,它與常規帳戶類似,但屬於應用程序而不是用戶。

應用程序擁有的帳戶沒有特殊權限,並且與常規帳戶一樣只能訪問他們擁有的文檔或與他們共享的文檔。因此,如果您的常規帳戶擁有這些文件,則服務帳戶將無法列出它們。

您可以使用域範圍內的代表團,讓您的應用程序來訪問文件上代表其他用戶在谷歌Apps域:

https://developers.google.com/drive/delegation

爲了讓服務帳戶來訪問我自己的谷歌文件驅動器,我必須授予服務帳戶的電子郵件地址的權限。一旦權限設置正確,該列表就會填充允許服務帳戶訪問的文件。

+0

是的,但我不明白什麼是應用程序擁有account.please幫助我一點點。 – user2332224

+0

是的,請解釋。我也需要它 – aleXela