通过Google Drive API获取共享链接

问题描述:

我正在使用Google云端硬盘的应用。我希望用户能够通过链接共享文件,将权限设置为anyonewithLink,如Google Developers documentation中所述。通过Google Drive API获取共享链接

但是,我无法弄清楚要分享什么链接。当我分享在谷歌驱动器的浏览器界面的文件时,我看到了Link to share格式:

https://docs.google.com/presentation/d/[...]/edit?usp=sharing

这种格式的链接是不是文件资源对象的一部分,也不是从HTTP返回调用设置权限。我希望有人能向我解释如何通过REST api获得这个链接?

您可以使用文件资源的alternateLink属性来获取,可以在相关的谷歌编辑器或浏览器打开该文件共享的链接:使用PHP API

https://developers.google.com/drive/v2/reference/files

+0

非常感谢您的回答。我会尽快测试它。 – 2013-03-06 16:42:33

+0

感谢您的链接。如何从驱动器应用共享的意图中创建该File对象,我有点困惑? – 2015-03-25 17:50:50

在我的案例V3,为链接到非空,你必须定义要求这个领域......如果你有正确的权限:

所以是这样的:

$file =self::$service->files->get("1ogXyGxcJdMXt7nJddTpVqwd6_G8Hd5sUfq4b4cxvotest",array("fields"=>"webViewLink")); 
+0

我也在API v3(php)上。我确实在API的响应中获得了“webViewLink”。但通过隐身模式打开该链接需要我登录屏幕。在文件请求中有没有一种方法可以说“给我一个对世界公开的链接,只适用于1访问”? (我正在将图像存储在不是网络用户的帐户中。) – jbobbins 2017-12-13 18:43:27

+1

是的,您应该在获取文件ID后更改文件权限。 – Miguel 2017-12-14 13:41:07