我正在尝试使用它:
https://developers.google.com/drive/android/get-started
适用于Android的Google云端硬盘SDK。
我希望能够列出用户Google云端硬盘帐户中的所有文件。但只能访问应用创建的文件和文件夹(或用户选择的文件和文件夹)。
mGoogleApiClient = new GoogleApiClient.Builder(this)
.addApi(Drive.API)
.addScope(Drive.SCOPE_FILE)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.build();
Google Devs可以告诉我是否可以使用此SDK列出用户文件和文件夹,并检索元数据?只允许SCOPE_FILE访问。
如果没有,将来会有更多的访问权限吗?
我已经尝试过(并且失败了)使用Java库但我无法让它工作。所以我希望我能找到新的SDK将包含其他权限(Java库所做的)。
由于
答案 0 :(得分:2)
我的解决方案是使用google-http-java-client库和google-api-client库而不是google drive SDK for 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();
答案 1 :(得分:1)
如您所见,目前只有SCOPE_FILE在Android上可用。用户更喜欢您拥有此范围,以便他们可以控制您的应用访问哪些文件。您应该能够使用提供的用户界面来允许用户浏览所有文件并选择他们想要与您的应用程序一起使用的文件。请参阅OpenFileActivity。