我尝试通过 Google Drive Android API 访问 Google 云端硬盘中的数据(不是 Web API)。令人疯狂的是,当我使用此访问权限时,我只能访问磁盘的一小部分(只有一个文件夹和几个文件)。我尝试使用示例代码,结果仍然相同。知道可能出了什么问题吗?
<强> Authorizing
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstance);
mGoogleApiClient = new GoogleApiClient.Builder(this)
.addApi(Drive.API)
.addScope(Drive.SCOPE_FILE)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.build();
}
@Override
protected void onStart() {
super.onStart();
mGoogleApiClient.connect();
}
@Override
public void onConnected(Bundle connectionHint) {
super.onConnected(connectionHint);
Query query = new Query.Builder()
.addFilter(Filters.or(
Filters.eq(SearchableField.MIME_TYPE, "text/html"),
Filters.eq(SearchableField.MIME_TYPE, "text/plain")))
.build();
Drive.DriveApi.query(getGoogleApiClient(), query).setResultCallback(metadataCallback);
}
ResultCallback<MetadataBufferResult> childrenRetrievedCallback = new
ResultCallback<MetadataBufferResult>() {
@Override
public void onResult(MetadataBufferResult result) {
if (!result.getStatus().isSuccess()) {
showMessage("Problem while retrieving files");
return;
}
mResultsAdapter.clear();
mResultsAdapter.append(result.getMetadataBuffer());
showMessage("Successfully listed files.");
}
};
最佳答案
作为 API 文档:
注意:Google Drive Android API 目前仅支持 drive.file
和 drive.appfolder
授权范围。如果您的应用程序需要 Drive Android API 中尚未提供的其他权限或功能,您必须使用 Google API Java 客户端。
我认为您需要drive
授权,但这还没有为Android API做好准备。
关于android - 授权 Google Drive Android API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27714031/