2014-01-22 49 views
0

我想列出所有我的谷歌accouunts有我的應用程序中的文件,我想後續一段代碼,這實際上是從網站,但是,在該行有錯誤「FileList fileList = request.execute();」它表示方法execute()對於Drive.Files.List類型是未定義的,我不知道如何解決它。文件清單文件清單request.execute()不工作

private void getDriveContents() 
{ 
    Thread t = new Thread(new Runnable() 
{ 
    @Override 
    public void run() 
    { 
         com.google.api.services.drive.Drive.Files f1 = mService.files(); 
      Files.List request = null; 

      do 
      { 
       try 
       { 
        request = service.files().list().setQ("trashed=false"); 
        FileList fileList = request.execute(); 

        mResultList.addAll(fileList.getItems()); 
        request.setPageToken(fileList.getNextPageToken()); 
       } catch (UserRecoverableAuthIOException e) { 
        startActivityForResult(e.getIntent(), REQUEST_AUTHORIZATION); 
       } catch (IOException e) { 
        e.printStackTrace(); 
        if (request != null) 
        { 
         request.setPageToken(null); 
        } 
       } 
      } while (request.getPageToken() !=null && request.getPageToken().length() > 0); 

      populateListView(); 
    } 
}); 
t.start(); 
} 

回答

0

我相信你的'請求'是不正確的類型。它應該是文件清單,不

的File.List
+0

我已經從很多網站看到,但是他們也使用Files.List作爲請求的類型 – user3222842

+0

實際上,我可能對FileList vs File.List建議有誤。我只是沒有時間深入挖掘。這可能是不正確的導入...我剛剛飛過並記住我有工作代碼,所以我把它扔進去。你知道,想幫忙,但沒有時間備用:) – seanpj

0

我並不認爲你看到的情況。因爲我有類似的代碼運行和測試,所以我只是試圖提供幫助。下面是我的一個片段 「類ListDownFromGOODrive擴展的AsyncTask ......」

import com.google.api.services.drive.model.FileList; 
... 
.... a lot of code here 
... 
GoogleAccountCredential _crd; 
Drive     _svc; 
FileList    _gooLst; 
Intent     _it; 
String     _rqst; 
... 
... a lot of code here 
... 
@Override protected Integer doInBackground(Void... nothing) { 
    try { 
    if (_crd == null) 
     _crd = GoogleAccountCredential.usingOAuth2(_ctx,Arrays.asList(DriveScopes.DRIVE_FILE)); 
    if (_svc == null) 
     _svc = new Drive.Builder  
        (AndroidHttp.newCompatibleTransport(), new GsonFactory(), _crd).build(); 
    if (_crd.getSelectedAccountName() == null) { 
     _it = _crd.newChooseAccountIntent(); 
     return REQ_EMAIL; 
    } 
    _gooLst = _svc.files().list().setMaxResults(MAX_DOWN).setQ(_rqst) 
      .setFields("items(id,title,description,downloadUrl,thumbnailLink)").execute(); 
    } 
    catch (UserRecoverableAuthIOException e){ //Log.d("atn", "LD URAIO Except->REQ_AUTH"); 
    try { _it = e.getIntent(); } catch (Exception e1) {return ERROR;} 
    return REQ_AUTH; 
    } 
    catch (IOException e)     { return ERROR; } 
    catch (Exception e)      { return ERROR; } 
    return GOOD; 
} 

返回GOOD,ERROR,REQ_AUTH(orization),或REQ_EMAIL(帳戶)