有没有办法使用 Google 驱动器 API 获取文件名?
Is there a way to get the name of a file using the Google Drive API?
假设我使用 Google 驱动器 API 到 select 我想打开的文件。我有这样的代码:
// Getting the drive ID for the file
DriveId driveId = (DriveId) data
.getParcelableExtra(OpenFileActivityBuilder.EXTRA_RESPONSE_DRIVE_ID);
// Getting the selected file
DriveFile googleDriveFile = Drive.DriveApi.getFile(googleApiClient,
driveId);
googleDriveFile.open(googleApiClient, DriveFile.MODE_READ_ONLY,
null).setResultCallback(
new ResultCallback<DriveContentsResult>() {
@Override
public void onResult(DriveContentsResult result) {
if (result.getStatus().isSuccess()) {
有什么办法可以让我得到这个文件的文件名吗? (不是驱动器 ID,而是它的实际名称?)
我正在尝试验证所选文件(通过检查名称中的类型),除了获取名称之外,我想不出其他方法来执行此操作。类型是 .cblite,一个 Couchbase Lite 数据库文件。通常我只是按 MIME 类型过滤驱动器选择器,但 .cblite(据我所知)不是这些选项之一。相反,我试图通过文件名进行验证。
有办法吗? (或者有没有办法按 miscellaneous/unidentified 类型过滤 MIME 类型?)
是的,一旦您拥有 DriveId,就可以获得元数据。元数据字段之一是 getTitle() ,它将为您提供文件/文件夹名称。看看这个代码片段:
DriveFile googleDriveFile = Drive.DriveApi.getFile(googleApiClient, driveId);
MetadataResult mdRslt = googleDriveFile .getMetadata(googleApiClient).await();
if (mdRslt != null && mdRslt.getStatus().isSuccess()) {
mdRslt.getMetadata().getTitle();
}
这里的'await' flavor是为了方便,必须是运行 off-ui线程。或者只是把它变成回调样式。
祝你好运
假设我使用 Google 驱动器 API 到 select 我想打开的文件。我有这样的代码:
// Getting the drive ID for the file
DriveId driveId = (DriveId) data
.getParcelableExtra(OpenFileActivityBuilder.EXTRA_RESPONSE_DRIVE_ID);
// Getting the selected file
DriveFile googleDriveFile = Drive.DriveApi.getFile(googleApiClient,
driveId);
googleDriveFile.open(googleApiClient, DriveFile.MODE_READ_ONLY,
null).setResultCallback(
new ResultCallback<DriveContentsResult>() {
@Override
public void onResult(DriveContentsResult result) {
if (result.getStatus().isSuccess()) {
有什么办法可以让我得到这个文件的文件名吗? (不是驱动器 ID,而是它的实际名称?)
我正在尝试验证所选文件(通过检查名称中的类型),除了获取名称之外,我想不出其他方法来执行此操作。类型是 .cblite,一个 Couchbase Lite 数据库文件。通常我只是按 MIME 类型过滤驱动器选择器,但 .cblite(据我所知)不是这些选项之一。相反,我试图通过文件名进行验证。
有办法吗? (或者有没有办法按 miscellaneous/unidentified 类型过滤 MIME 类型?)
是的,一旦您拥有 DriveId,就可以获得元数据。元数据字段之一是 getTitle() ,它将为您提供文件/文件夹名称。看看这个代码片段:
DriveFile googleDriveFile = Drive.DriveApi.getFile(googleApiClient, driveId);
MetadataResult mdRslt = googleDriveFile .getMetadata(googleApiClient).await();
if (mdRslt != null && mdRslt.getStatus().isSuccess()) {
mdRslt.getMetadata().getTitle();
}
这里的'await' flavor是为了方便,必须是运行 off-ui线程。或者只是把它变成回调样式。
祝你好运