Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Filters.ownedByMe不';t在'工作;Android的驱动API';(但在';API Java客户端库';中正常工作)_Java_Android_Google Drive Api_Google Drive Android Api - Fatal编程技术网

Filters.ownedByMe不';t在'工作;Android的驱动API';(但在';API Java客户端库';中正常工作)

Filters.ownedByMe不';t在'工作;Android的驱动API';(但在';API Java客户端库';中正常工作),java,android,google-drive-api,google-drive-android-api,Java,Android,Google Drive Api,Google Drive Android Api,以前,我使用“API Client Library for Java”在appdata文件夹中执行文件搜索 Java API客户端库中的文件搜索代码 最近,我尝试将代码迁移到使用“Android驱动API”。我有两个作用域用于GoogleAppClient Drive.SCOPE\u文件 Drive.SCOPE\u APPFOLDER Android驱动器API中的文件搜索代码 我意识到,Filters.ownedByMe是导致问题的原因 以下是基于不同查询的不同结果 失败 失败 成功 在A

以前,我使用“API Client Library for Java”在appdata文件夹中执行文件搜索

Java API客户端库中的文件搜索代码 最近,我尝试将代码迁移到使用“Android驱动API”。我有两个作用域用于
GoogleAppClient

  • Drive.SCOPE\u文件
  • Drive.SCOPE\u APPFOLDER
Android驱动器API中的文件搜索代码 我意识到,
Filters.ownedByMe
是导致问题的原因

以下是基于不同查询的不同结果

失败 失败 成功 在Android的驱动API中,
Filters.ownedByMe()
似乎不能正常工作


有什么我可以纠正的吗?

如果没有任何其他过滤器,“ownedByMe”会返回什么?我建议将其发布在上以引起注意。没有任何其他筛选器的“ownedByMe”将在getStatus()中返回false。isSuccess()在我看来,您已经为“问题跟踪器”步骤做了足够的测试。为什么需要
ownedByMe
?如果您只查看appdata目录中的文件,则这些文件只能由您的应用程序创建/找到。这看起来确实像一个bug。我在Google的API问题跟踪程序上创建了一个问题:
private static void searchFromGoogleDrive(Drive drive, String qString) {
    try {
        Files.List request = drive.files().list().setQ(qString);

        do {                
            FileList fileList = request.execute();

            for (com.google.api.services.drive.model.File f : fileList.getItems()) {

                final String title = f.getTitle();

                if (title == null || f.getDownloadUrl() == null || f.getDownloadUrl().length() <= 0) {
                    continue;
                }
                ...
            }

            request.setPageToken(fileList.getNextPageToken());
        } while (request.getPageToken() != null && request.getPageToken().length() > 0);
    } catch (IOException ex) {
        log.error(null, ex);
        return;
    }
    return;
}
title contains 'jstock-fe78440e-e0fe-4efb' and trashed = false and 'appdata' in parents and 'me' in owners
private static void searchFromGoogleDrive(GoogleApiClient googleApiClient) {
    DriveFolder driveFolder = Drive.DriveApi.getAppFolder(googleApiClient);

    Query query = new Query.Builder()
            .addFilter(Filters.and(
                Filters.contains(SearchableField.TITLE, "jstock-fe78440e-e0fe-4efb"),
                Filters.eq(SearchableField.TRASHED, false),
                Filters.ownedByMe()
            ))
            .build();

    DriveApi.MetadataBufferResult metadataBufferResult = driveFolder.queryChildren(googleApiClient, query).await();

    if (metadataBufferResult == null) {
        Log.i("CHEOK", "metadataBufferResult is null");
    } else {
        Log.i("CHEOK", "metadataBufferResult's status = " + metadataBufferResult.getStatus().isSuccess());
    }

    if (metadataBufferResult != null && metadataBufferResult.getStatus().isSuccess()) {
        MetadataBuffer metadataBuffer = null;
        try {
            metadataBuffer = metadataBufferResult.getMetadataBuffer();
            if (metadataBuffer != null ) {
                for (Metadata md : metadataBuffer) {
                    if (md == null || !md.isDataValid()) {
                        continue;
                    }

                    Log.i("CHEOK", "title = " + md.getTitle());
                }   // for
            }   // if
        } finally {
            if (metadataBuffer != null) {
                metadataBuffer.release();
            }
        }
    }

    return;
}
Query query = new Query.Builder()
        .addFilter(Filters.and(
            Filters.contains(SearchableField.TITLE, "jstock-fe78440e-e0fe-4efb"),
            Filters.eq(SearchableField.TRASHED, false),
            Filters.ownedByMe()
        ))
        .build();            
// metadataBufferResult's status = false
Query query = new Query.Builder()
        .addFilter(Filters.and(
            Filters.ownedByMe()
        ))
        .build();
// metadataBufferResult's status = false
Query query = new Query.Builder()
        .addFilter(Filters.and(
            Filters.contains(SearchableField.TITLE, "jstock-fe78440e-e0fe-4efb"),
            Filters.eq(SearchableField.TRASHED, false)
        ))
        .build();    
// metadataBufferResult's status = true
// title = jstock-fe78440e-e0fe-4efb-881d-264a01be483c-checksum=2298926779-date=1452429908167-version=1107.zip