- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在努力让我的代码工作。
我希望我的应用程序(单击按钮时)显示驱动器根文件夹中的所有文件夹(和文件)。但这似乎是不可能的,因为即使我已经使用 Ouath2 授权该应用程序,该应用程序也只能访问用户选择的文件和文件夹。
行为很奇怪,因为当文件夹选择器打开时,如果内容是文件夹,它只会列出该文件夹的内容。它根本不会列出任何文件。
请专家看看我的代码并告诉我哪里出错了?
我正在使用 PickFolderWithOpener
Activity ,以获取 driveId。它根据用户从选择器中的选择返回一个 driveID。
DriveId driveId = (DriveId) data.getParcelableExtra(
OpenFileActivityBuilder.EXTRA_RESPONSE_DRIVE_ID);
这就是这里返回的文件夹驱动器 ID 吗?然后我需要调用 Intent ListFilesInFolderActivity
。我假设我必须在 Intent 调用中传递这个 driveID?如果我将 DriveID 格式化为字符串并传递它,它会失败与“找不到 DriveId。您有权查看此文件吗?”消息。
所以我正在做的是传递 ResourceID。
Intent intent = new Intent(this, ListFilesInFolderActivity.class);
intent.putExtra("DriveID", driveId.getResourceId());
startActivity(intent);
在 ListFilesInFolderActivity?
中需要用到什么 DriveID 或 resourceID?这是我在 ListFilesInFolderActivity?
Bundle extras = getIntent().getExtras();
folderId= extras.getString("DriveID"); // this is the resourceID
Drive.DriveApi.fetchDriveId(getGoogleApiClient(), folderId)
.setResultCallback(idCallback);
final private ResultCallback<DriveIdResult> idCallback = new ResultCallback<DriveIdResult>() {
@Override
public void onResult(DriveIdResult result) {
if (!result.getStatus().isSuccess()) {
showMessage("Cannot find DriveId. Are you authorized to view this file?");
return;
}
DriveFolder folder = Drive.DriveApi.getFolder(getGoogleApiClient(), result.getDriveId());
showMessage("Result driveId is: " + result.getDriveId());
folder.listChildren(getGoogleApiClient())
.setResultCallback(metadataResult);
}
};
这似乎可行,但它只列出所选文件夹中的文件夹。它不列出文件。为什么 folder.listChildren(getGoogleApiClient())
也没有列出文件!?
希望这是我明显遗漏的东西。
最佳答案
您不能使用新的 SDK 执行此操作,因为它只允许 SCOPE_FILE 访问。
这是为什么?? “注意:Google Drive Android API 目前仅支持 drive.file 和 drive.appdata 授权范围。如果您的应用程序需要 Drive Android API 尚不可用的其他权限或功能,则必须使用 Google APIs Java 客户端。”
关于Android Google Drive SDK - 如何显示所选文件夹中的文件列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22859425/
我正在尝试用 Swift 编写这段 JavaScript 代码:k_combinations 到目前为止,我在 Swift 中有这个: import Foundation import Cocoa e
我是一名优秀的程序员,十分优秀!