не удалось запросить файлы, которыми мне поделились, с диска Google с помощью Google Drive API Android

public class QueryFilesSharedWithMeActivity extends BaseDemoActivity {

private ListView mResultsListView;
private ResultsAdapter mResultsAdapter;

@Override
protected void onCreate(Bundle b) {
    super.onCreate(b);
    setContentView(R.layout.activity_listfiles);
    mResultsListView = (ListView) findViewById(R.id.listViewResults);
    mResultsAdapter = new ResultsAdapter(this);
    mResultsListView.setAdapter(mResultsAdapter);
}

/**
 * Clears the result buffer to avoid memory leaks as soon as the activity is no longer
 * visible by the user.
 */
@Override
protected void onStop() {
    super.onStop();
    mResultsAdapter.clear();
}

@Override
public void onConnected(Bundle connectionHint) {
    super.onConnected(connectionHint);
    Query query = new Query.Builder()
            .addFilter(Filters.sharedWithMe())
            .build();
    Drive.DriveApi.query(getGoogleApiClient(), query)
            .setResultCallback(metadataCallback);
    showMessage("Connecting ...");
}

final private ResultCallback<DriveApi.MetadataBufferResult> metadataCallback =
        new ResultCallback<DriveApi.MetadataBufferResult>() {
            @Override
            public void onResult(DriveApi.MetadataBufferResult result) {
                showMessage("onResult ...");
                if (!result.getStatus().isSuccess()) {
                    showMessage("Problem while retrieving results");
                    return;
                }
                mResultsAdapter.clear();
                mResultsAdapter.append(result.getMetadataBuffer());
                showMessage("Count = "+mResultsAdapter.getCount());
           }
        };
 }

Я не могу запросить файлы и папки, к которым мне уже предоставлен доступ, с помощью приведенного выше кода. Всякий раз, когда я пытаюсь запросить sharedWithMe(), я получаю счетчик массива mResultAdapter '0'. пожалуйста, помогите мне решить эту проблему.


person Manoj    schedule 18.11.2014    source источник


Ответы (2)


Android API использует область действия Drive.File, что означает, что ваше приложение имеет доступ к файлам, которые были созданы вашим приложением или явно открыты в нем. Другие файлы не будут отображаться в результатах поиска.

person Cheryl Simon    schedule 19.11.2014
comment
Шерил Саймон, что мне нужно сделать, чтобы получить список файлов, которыми мне поделились с диска Google, используя Android API - person Manoj; 24.11.2014

Шерил права, вам нужно использовать Java-клиент Google API, как сказано здесь:

Примечание. API Google Диска для Android в настоящее время поддерживает только области авторизации drive.file и drive.appfolder. Если вашему приложению требуются дополнительные разрешения или функции, которых пока нет в Drive Android API, вы должны использовать Java-клиент Google API.

источник: https://developers.google.com/drive/android/auth#connecting_and_authorizing_the_google_drive_android_api

person samu    schedule 07.01.2015