【发布时间】:2016-05-17 00:46:05
【问题描述】:
我有一个 mp4 视频文件,位于 Google 云端硬盘的“视频”文件夹中。我想使用 C# sdk v3 获得该文件的可共享链接。在我的代码中,我为文件(和文件夹)设置了权限:
string fileId = "..real..file..id..here.."
Google.Apis.Drive.v3.Data.Permission permission = new Google.Apis.Drive.v3.Data.Permission();
permission.Type = "anyone";
permission.Role = "reader";
permission.AllowFileDiscovery = true;
PermissionsResource.CreateRequest request = _service.Permissions.Create(permission, fileId);
request.Fields = "id";
request.Execute();
_service 变量是一个 DriveService 对象。我可以看到文件(和文件夹)的权限设置正确。然后我尝试使用以下代码获取链接:
FilesResource.ListRequest listRequest = _service.Files.List();
List<Google.Apis.Drive.v3.Data.File> files = listRequest.Execute().Files.ToList();
Google.Apis.Drive.v3.Data.File myVideo = files.Single(f => f.Id == fileId);
string shareableLink = myVideo.WebContentLink;
文件“myVideo”已正确检索,但 WebContentLink 属性为空。我在这里错过了什么?
更新: AllowFileDiscovery = false;没有任何区别。
更新:设置权限后,您可以使用文件 id 手动构造 url:https://drive.google.com/uc?id=..file..id..goes..here
【问题讨论】:
-
你试过读这个吗?它讨论了如何检索 WebContentLink:stackoverflow.com/questions/13517409/… / stackoverflow.com/questions/13933790/…
标签: c# google-drive-api