【问题标题】:Get Shareable link of uploaded file to google drive in android在android中获取上传文件的可共享链接到谷歌驱动器
【发布时间】:2017-09-16 09:53:37
【问题描述】:

我使用 Android 代码将图像文件上传到 Google 云端硬盘。我想要的是获取我上传的文件的可共享链接。下面是我上传文件的代码,

OutputStream outputStream = driveContents.getOutputStream();
Bitmap image = MediaStore.Images.Media.getBitmap(MainActivity.this.getContentResolver(), uri);
ByteArrayOutputStream bitmapStream = new ByteArrayOutputStream();
image.compress(Bitmap.CompressFormat.PNG, 100, bitmapStream);
outputStream.write(bitmapStream.toByteArray());
MetadataChangeSet changeSet = new MetadataChangeSet.Builder()
        .setTitle(imgFile.getName())
        .setMimeType("image/jpeg")
        .setStarred(true).build();

// create a file in root folder
Drive.DriveApi.getRootFolder(mGoogleApiClient)
        .createFile(mGoogleApiClient, changeSet, driveContents)
        .setResultCallback(fileCallback);

(uri 是上面代码中我的图像文件的 sdcard 路径。)

我在以下回调中得到结果,

final private ResultCallback<DriveFolder.DriveFileResult> fileCallback = new
    ResultCallback<DriveFolder.DriveFileResult>() {
        @Override
        public void onResult(DriveFolder.DriveFileResult result) {
            if (result.getStatus().isSuccess()) {
                Toast.makeText(MainActivity.this, "File uploaded.", Toast.LENGTH_SHORT).show();
                clipboard.setPrimaryClip(clip);
            }
            return;
        }
    };

请帮我获取我上传的文件的链接。

【问题讨论】:

    标签: android google-drive-android-api


    【解决方案1】:

    这是与您的查询相关的SO post

    从 Google 云端硬盘下载文件:

    要通过链接下载 Google Drive 文件,试试这个(来自this tutorial):

    https://drive.google.com/uc?export=download&id=FILE_ID

    只需将 FILE_ID 替换为在云端硬盘中找到的原始文件 ID 网址。

    还有一些来自同一篇文章的进一步阅读。

    补充说明:

    您可以使用DRIVE REST API下载文件

    要下载文件,您需要向 文件的资源 URL 并包含查询参数 alt=media。为了 示例:

    GET https://www.googleapis.com/drive/v3/files/0B9jNhSvVjoIVM3dKcGRKRmVIOVU?alt=media
    Authorization: Bearer ya29.AHESVbXTUv5mHMo3RYfmS1YJonjzzdTOFZwvyOAUVhrs
    

    下载文件需要用户至少具有读取权限。 此外,您的应用程序必须在允许的范围内获得授权 读取文件内容。例如,一个应用程序使用 drive.readonly.metadata 范围将无权下载 文件内容。具有编辑权限的用户可以通过以下方式限制下载 通过将 viewersCanCopyContent 字段设置为 true 来获得只读用户。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-19
      • 2020-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多