В моем приложении я подключиться к Google Api:Google Drive Android API: не может найти файл с помощью запроса
mGoogleApiClient = new GoogleApiClient.Builder(this)
.addApi(Drive.API)
.addScope(Drive.SCOPE_FILE)
.addScope(Drive.SCOPE_APPFOLDER)
.addConnectionCallbacks(mGDriveCallback)
.addOnConnectionFailedListener(mGDriveCallback)
.build();
mGoogleApiClient.connect();
Тогда в onConnected
функции mGDriveCallback
я сделать запрос на запрос:
Query query = new Query.Builder()
.addFilter(Filters.eq(SearchableField.TITLE, "buffer.txt"))
.build();
Drive.DriveApi.query(mGoogleApiClient, query).setResultCallback(mFindFileCallback);
И в onResult
из mFindFileCallback
проверить результат:
if (!result.getStatus().isSuccess()) {
Log.w(TAG, "Problem while retrieving files");
} else {
Log.i(TAG, "Results size: " + result.getMetadataBuffer().getCount());
if (result.getMetadataBuffer().getCount() > 0) {
Metadata md = result.getMetadataBuffer().get(0);
Log.i(TAG, "DriveId: " + md.getDriveId());
} else {
Log.w(TAG, "File not found");
}
}
Теперь, несмотря на то, что я лично загрузил «buffer.txt» на свой диск, я получаю метабаффер с пустым результатом. Таким образом, код показывает предупреждение «Файл не найден». То же самое происходит, если я пытаюсь найти папку. Я попытался заменить Filters.eq
на Filters.contains
, но безуспешно.
Любые идеи, что я делаю что-то неправильно?
Когда вы создали файл, вы установите заголовок «buffer.txt» явно? – Anatoli
Я загрузил файл, а затем попробовал переименовать его - без успеха. Я создал папку - не могу ее получить. – alex
Был ли файл загружен на диск вашим приложением? Или вы загрузили файл каким-либо другим способом (например, веб-интерфейс диска или приложение для Android и Android)? – Anatoli