gpt4 book ai didi

java - 无法使用 Filters.sharedWithMe() 通过 Google Drive Api 获取与我共享的文件

转载 作者:行者123 更新时间:2023-12-02 05:16:16 25 4
gpt4 key购买 nike

我的 Google 云端硬盘中有一些其他人与我共享的文件,我希望能够查询这些文件。不幸的是,MetadataBuffer 的结果计数为 0

这是代码:

private GoogleApiClient mGoogleApiClient;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_activity);

mGoogleApiClient = new GoogleApiClient.Builder(this).addApi(com.google.android.gms.drive.Drive.API)
.addScope(com.google.android.gms.drive.Drive.SCOPE_FILE).addConnectionCallbacks(this)
.addOnConnectionFailedListener(this).build();

}

@Override
protected void onStart() {
super.onStart();
mGoogleApiClient.connect();
}

@Override
public void onConnected(Bundle arg0) {
Query query = new Query.Builder().addFilter(Filters.sharedWithMe()).build();
Drive.DriveApi.query(mGoogleApiClient, query).setResultCallback(metadataCallback);
}

private ResultCallback<DriveApi.MetadataBufferResult> metadataCallback =
new ResultCallback<DriveApi.MetadataBufferResult>() {
@Override
public void onResult(DriveApi.MetadataBufferResult result) {
if (!result.getStatus().isSuccess()) {
Log.d(TAG, "Problem while retrieving results");
return;
}

MetadataBuffer buffer = result.getMetadataBuffer();
if(buffer != null) {
int cnt = buffer.getCount();
Log.d(TAG, "BUFFER COUNT: " + cnt);
for(int i = 0; i < cnt; i++) {
Metadata meta = buffer.get(i);
Log.d(TAG, meta.getTitle());
}
buffer.close();
}
}
};

....................

我正在使用新版 Google 云端硬盘,并且我还尝试将一些共享文件从传入文件夹移动到我的云端硬盘 根。依然没有。我将不胜感激任何帮助和建议。

最佳答案

正如 unable to query the files "shared with me" from google drive using Google drive api android 上所述,目前,驱动器 API 允许您仅访问应用程序创建的驱动器中的数据。

您可以通过更改自行验证 查询 query = new Query.Builder().addFilter(Filters.sharedWithMe()).build();查询查询 = new Query.Builder().build();

您只能看到一个名为“App Data”的文件夹

要访问其他文件,您需要使用drive java api,如https://developers.google.com/drive/android/auth#connecting_and_authorizing_the_google_drive_android_api中所述。

Note: The Google Drive Android API currently only supports drive.file and drive.appfolder authorization scopes. If your application requires additional permissions or features not yet available in the Drive Android API, you must use the Google APIs Java Client.

关于java - 无法使用 Filters.sharedWithMe() 通过 Google Drive Api 获取与我共享的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26929154/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com