2013-11-27 43 views
1

我正在使用Google驅動器API。當第一次運行我的應用程序時,用戶驗證我的應用程序,然後在Google Drive的根目錄中創建一個文件夾,讓說文件夾名稱爲「我的文件夾」。該應用程序工作正常,直到用戶從Android中的「Google設置」應用程序斷開應用程序。斷開連接後,用戶再次打開應用程序並再次授權該應用程序,並再次使用不同的ID創建具有類似名稱「我的文件夾」的另一個文件夾。我不想,如果存在,它再次創建該文件夾,並希望得到它的ID沒有要求的所有文件的根文件夾並遍歷列表如果已經存在,則不要創建文件夾並返回文件夾ID

@Override 
protected void onActivityResult(final int requestCode, 
     final int resultCode, final Intent data) { 
    switch (requestCode) { 
    case REQUEST_ACCOUNT_PICKER: 
     if (resultCode == RESULT_OK && data != null 
       && data.getExtras() != null) { 
      String accountName = data 
        .getStringExtra(AccountManager.KEY_ACCOUNT_NAME); 
      if (accountName != null) { 
       credential.setSelectedAccountName(accountName); 
       service = getDriveService(credential); 

       SharedPreferences preferences = getSharedPreferences(
         "pref", MODE_PRIVATE); 
       preferences.edit().putString("accountName", accountName) 
         .commit(); 



      } 
     } 
     break; 
    case REQUEST_AUTHORIZATION: 
     if (resultCode == Activity.RESULT_OK) { 
      new Thread(new Runnable() { 

       @Override 
       public void run() { 


        File body = new File(); 
        body.setTitle("My Folder"); 
        body.setMimeType("application/vnd.google-apps.folder"); 

        try { 
         File file = service.files().insert(body).execute(); 
         String id = file.getId(); 

         MyUtilities.saveInSharedPreference("drivefolderid", 
           id, ImportWizard.this); 
         Log.v("folder id ", "==>>" + id); 
        } catch (UserRecoverableAuthIOException e) { 
         e.printStackTrace(); 
         startActivityForResult(e.getIntent(), 
           REQUEST_AUTHORIZATION); 
        } catch (IOException e) { 

         // TODO Auto-generated catch block 
         e.printStackTrace(); 
        } 

       } 
      }).start(); 

     } else { 
      startActivityForResult(credential.newChooseAccountIntent(), 
        REQUEST_ACCOUNT_PICKER); 
     } 
     break; 

    } 
} 

回答

1

你不需要遍歷所有用戶的文件。我假設你給這個文件夾一個固定的名字。如果是這樣,請使用驅動器的搜索功能按名稱和類型文件夾查找。它只有一個單一的結果。希望用戶沒有創建具有相同名稱的另一個文件夾。

相關問題