我尝试通过Google Drive Android API(非Web API)访问Google云端硬盘中的数据。什么是疯狂的,当我使用此访问权限时,我只能访问磁盘的一小部分(只有一个文件夹和几个文件)。我尝试使用示例代码,结果仍然相同。知道什么可能是错的吗?
@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.");
}
};
答案 0 :(得分:3)
作为API文档:
注意:Google云端硬盘Android API目前仅支持drive.file
和drive.appfolder
授权范围。如果您的应用需要Drive Android API中尚未提供的其他权限或功能,则必须使用Google API Java客户端。
我认为您需要drive
授权,但这还没有为Android API做好准备。