上传文件到谷歌驱动器的可分享链接在Android中
问题描述:
我使用Android代码将图片文件上传到谷歌驱动器。我想要的是获取我上传文件的可分享链接。下面是我的代码上传文件,上传文件到谷歌驱动器的可分享链接在Android中
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是SD卡路径在上面的代码我的图像文件。)
我在下面的回调得到结果,
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;
}
};
请帮助我获得我上传文件的链接。
答
这是关系到你的查询中SO post,
从谷歌驱动器下载文件:
下载通过链接谷歌云端硬盘文件,试试这个(从this tutorial):
https://drive.google.com/uc?export=download&id=FILE_ID
只需将FILE_ID替换为在第e Drive URL。
还有一些进一步的阅读也来自同一篇文章。
产生额外的注意事项:
您可以使用DRIVE REST API
要下载文件下载文件,你让授权的HTTP GET请求 文件的资源URL和包括查询参数ALT =媒体。对于 例如:
GET https://www.googleapis.com/drive/v3/files/0B9jNhSvVjoIVM3dKcGRKRmVIOVU?alt=media Authorization: Bearer ya29.AHESVbXTUv5mHMo3RYfmS1YJonjzzdTOFZwvyOAUVhrs
下载文件需要用户具有至少读取权限。 此外,您的应用必须获得允许 读取文件内容的范围授权。例如,使用 drive.readonly.metadata范围的应用将无权下载 文件内容。具有编辑权限的用户可以通过将viewersCanCopyContent字段设置为true来限制 只读用户的下载。