2016-04-24 111 views

回答

1

我做了以下內容:

  1. 我用requestSync(GoogleApiClient)
  2. 然後,在其回調,我查詢使用Drive.DriveApi.query(GoogleApiClient, query)
  3. 然後驅動器的內容,在其回調中,一旦發現,檢索文件。
  4. 工作完成!

下面給出了有關感興趣的代碼片段。

@Override 
public void onConnected(Bundle connectionHint) { 
    super.onConnected(connectionHint); 
    Drive.DriveApi.requestSync(getGoogleApiClient()).setResultCallback(syncCallback); 
} 

final private ResultCallback<Status> syncCallback = new ResultCallback<Status>() { 
    @Override 
    public void onResult(@NonNull Status status) { 
     if (!status.isSuccess()) { 
      showMessage("Problem while retrieving results"); 
      return; 
     } 
     query = new Query.Builder() 
       .addFilter(Filters.and(Filters.eq(SearchableField.TITLE, "title"), 
         Filters.eq(SearchableField.TRASHED, false))) 
       .build(); 
     Drive.DriveApi.query(getGoogleApiClient(), query) 
       .setResultCallback(metadataCallback); 
    } 
}; 

final private ResultCallback<DriveApi.MetadataBufferResult> metadataCallback = 
     new ResultCallback<DriveApi.MetadataBufferResult>() { 
    @SuppressLint("SetTextI18n") 
    @Override 
    public void onResult(@NonNull DriveApi.MetadataBufferResult result) { 
     if (!result.getStatus().isSuccess()) { 
      showMessage("Problem while retrieving results"); 
      return; 
     } 

     MetadataBuffer mdb = result.getMetadataBuffer(); 
     for (Metadata md : mdb) { 
      Date createdDate = md.getCreatedDate(); 
      DriveId driveId = md.getDriveId(); 
     } 

     readFromDrive(driveId); 
    } 
}; 

感謝您的幫助!

+0

非常感謝。這個對我有用。我在這個問題上停留了兩天。 :( – derjohng

1

卸載應用程序也會刪除App文件夾中的數據。 This is from the REST API documentation,但我猜測同樣的事情發生在Android和其他客戶端API上。

+0

謝謝@adjuremods。但不完全。有關更多信息,請參閱我接受的答案。 –

相關問題