我已成功使用Google云端硬盘实施Google服务帐户。现在,我可以将文件上传到服务帐户。但我无法弄清楚如何在我的网站上以嵌入的形式显示该文件。
https://doc-04-0g-docs.googleusercontent.com/docs/securesc/bc8ug145a9ddo935ikfpgr3jg35j66bd/r8o9fi9jati2in6m7ad70ppjqif4dq7n/1381514400000/05451613566453688664/05451613566453688664/0B20JX1z76nY6VjVrUl9rai16TW8?h=16653014193614665626&e=download&gd=true
https://docs.google.com/uc?id=0B20JX1z76nY6VjVrUl9rai16TW8&export=download
https://docs.google.com/file/d/0B20JX1z76nY6VjVrUl9rai16TW8/edit?usp=drivesdk
这些是分别上传的文件的downloadUrl,WebContentLink和AlternateLink。我无法在浏览器中打开这些链接。用于上传文件的代码是:
java.io.File fileContent = new java.io.File("E:\\test.txt");
File fileMetadata = new File();
fileMetadata.setTitle(fileContent.getName());
InputStreamContent mediaContent = new InputStreamContent("text/plain", new BufferedInputStream(
new FileInputStream(fileContent)));
mediaContent.setLength(fileContent.length());
Drive.Files.Insert insert = getDriveService().files().insert(fileMetadata, mediaContent);
MediaHttpUploader uploader = insert.getMediaHttpUploader();
uploader.setDirectUploadEnabled(true);
File file = insert.execute();
如何将文件属性设置为public,以便我的网站上的所有用户无需登录即可访问该属性?另外,我不希望用户下载此文件。
由于
答案 0 :(得分:2)
嵌入文件的唯一可靠方法是为文档文件嵌入embedLink
。其他文件被强制下载,因此您需要有一个代理来将它们作为网页提供。
答案 1 :(得分:0)
AlternateLink是允许您打开以查看或编辑文档的链接。 显然你必须设置权限。 设置权限相对容易。
小心,它是一个列表,所以你必须确保不要继续插入新的权限。 使用googledrive,您可以使用THElink设置编辑或查看任何人。 (任何人) 这个链接是AlternateLink。不幸的是,我无法找到阻止用户从谷歌文档编辑器文件>下载中下载文件的方法。如果你找到了,请告诉我。
但是,AlternateLink会为您提供:
https://docs.google.com/file/d/0B20JX1z76nY6VjVrUl9rai16TW8/edit?usp=drivesdk
我相信这已经过时了。
我在iframe中使用此功能,而iframe不允许谷歌更正网址。
当前网址(Google每隔几个月更改一次)是?pl = 1而不是?usp = drivesdk。 因此,如果您在新标签页中打开链接,谷歌会为您纠正此问题,但您必须在iframe中手动更改它。
您会注意到Chrome与其他行为的不同行为。 ?usp = drivesdk仍可在大多数浏览器中使用,但如果您未使用Google帐户登录,则无法在Chrome中使用。
所以简而言之,不要完全信任AlternateLink,你可能需要重写部分网址。 如果你使用iframe。