2014-01-22 38 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(帐户)