Java 如果文件夹已存在,请不要创建,并返回文件夹id

Java 如果文件夹已存在,请不要创建,并返回文件夹id,java,android,google-drive-api,Java,Android,Google Drive Api,我正在使用谷歌驱动API。当我的应用程序第一次运行时,用户对我的应用程序进行身份验证,然后我在谷歌驱动器的根目录中创建了一个文件夹,文件夹名为“我的文件夹”。在用户断开应用程序与Android中“谷歌设置”应用程序的连接之前,该应用程序工作正常。断开连接后,用户再次打开应用程序,再次授权该应用程序,并再次使用不同id创建另一个具有类似名称“My folder”的文件夹。如果该文件夹存在,我不想再次创建该文件夹,并且希望在不请求根文件夹中的所有文件并迭代列表的情况下获取其id @Override

我正在使用谷歌驱动API。当我的应用程序第一次运行时,用户对我的应用程序进行身份验证,然后我在谷歌驱动器的根目录中创建了一个文件夹,文件夹名为“我的文件夹”。在用户断开应用程序与Android中“谷歌设置”应用程序的连接之前,该应用程序工作正常。断开连接后,用户再次打开应用程序,再次授权该应用程序,并再次使用不同id创建另一个具有类似名称“My folder”的文件夹。如果该文件夹存在,我不想再次创建该文件夹,并且希望在不请求根文件夹中的所有文件并迭代列表的情况下获取其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;

    }
}

您不需要迭代所有用户的文件。我想你给了那个文件夹一个固定的名字。如果是,请使用驱动器的搜索功能按名称和类型查找文件夹。这是一个单一的结果调用。希望用户没有创建另一个同名文件夹。

您不需要迭代用户的所有文件。我想你给了那个文件夹一个固定的名字。如果是,请使用驱动器的搜索功能按名称和类型查找文件夹。这是一个单一的结果调用。希望用户没有创建另一个同名文件夹