SDK Google Диска - Объемы Диска

Я пытаюсь использовать это:

https://developers.google.com/drive/android/get-started

Это SDK Google Drive для Android.

Я хочу иметь возможность отображать все файлы в пользовательской учетной записи Google Drive. Но доступ предоставляется только к файлам и папкам, созданным приложением (или выбранным пользователем).

mGoogleApiClient = new GoogleApiClient.Builder(this)
                .addApi(Drive.API)
                .addScope(Drive.SCOPE_FILE)
                .addConnectionCallbacks(this)
                .addOnConnectionFailedListener(this)
                .build();

Могут ли разработчики Google сказать мне, можно ли с помощью этого SDK составлять список файлов и папок пользователей и получать метаданные? Разрешен только доступ SCOPE_FILE.

Если нет, будет ли предоставлен больше доступа в будущем?

Я пытался (и безуспешно) использовать библиотеку Java, но не могу заставить ее работать. Надеюсь, я смогу узнать, что новый SDK будет включать другие разрешения (что и есть в библиотеке Java).

Спасибо


person user3437721    schedule 28.04.2014    source источник


Ответы (2)


Мое решение - использовать библиотеку https://github.com/google/google-http-java-client и google-api-client вместо SDK Google Drive для Android. Основное преимущество заключается в том, что вы можете получить доступ ко всем файлам на диске Google. ниже приведен код раздела для создания объекта Drive в коде, затем вы можете использовать этот объект для доступа к файлам.

            final GoogleCredential credential = new GoogleCredential.Builder()
                .setTransport(httpTransport).setJsonFactory(jsonFactory)
                .addRefreshListener(refreshListener)
                .setClientSecrets(clientId, clientSecret).build()
                .setRefreshToken(refreshToken).setAccessToken(accessToken);

        // Create a new authorized API client
        final Drive drive = new Drive.Builder(httpTransport, jsonFactory,
                credential).build();
person Zephyr    schedule 23.01.2015

Как вы видели, в настоящее время на Android доступен только SCOPE_FILE. Пользователи очень предпочитают, чтобы у вас была эта область, чтобы они могли контролировать, к каким файлам обращается ваше приложение. Вы должны иметь возможность использовать предоставленные пользовательские интерфейсы, чтобы позволить вашим пользователям просматривать все файлы и выбирать тот, который они хотят использовать с вашим приложением. См. OpenFileActivity.

person Cheryl Simon    schedule 28.04.2014
comment
Спасибо, Шерил, но в идеале я бы хотел, чтобы пользователь выбирал папку с помощью средства выбора папок. И затем иметь возможность перечислить все файлы внутри этой папки в настраиваемом ListView. Я хочу, чтобы мой пользователь мог выбрать несколько элементов в списке по своему желанию. В настоящее время это невозможно - если я не делаю что-то не так? - person user3437721; 29.04.2014
comment
Шерил, надеюсь, вы ответите на мой вопрос. Надеюсь, этого можно достичь с помощью SDK. - person user3437721; 30.04.2014
comment
Возможно ли это вообще с Android SDK? - person user3437721; 05.05.2014
comment
Нет, в настоящее время нет способа получить доступ ко всему дереву содержимого без явной авторизации каждого из них. - person Cheryl Simon; 05.05.2014
comment
Спасибо, Шерил. Я надеялся, что разрешения могут измениться так, что если пользователь выберет папку с помощью FolderPicker, то предполагается, что он хочет увидеть содержимое этой папки, и он авторизует все в этой папке. Это разумный запрос, и его можно изменить ›? - person user3437721; 05.05.2014
comment
или добавьте разрешение только для чтения, чтобы приложение Android могло читать метаданные из всех файлов и папок. - person user3437721; 05.05.2014
comment
Есть ли однозначный ответ на этот вопрос? Будет ли когда-нибудь googleapis.com/auth/drive в Android SDK? - person nLL; 06.01.2015