gpt4 book ai didi

c# - Google Drive .NET SDK 版本 3 - 可共享链接

转载 作者:太空宇宙 更新时间:2023-11-03 12:46:02 25 4
gpt4 key购买 nike

我在 Google 云端硬盘的“视频”文件夹中有一个 mp4 视频文件。我想使用 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 属性为空。我在这里缺少什么?

更新:允许文件发现=假;没有任何区别。

更新:设置权限后,您可以使用文件 ID 手动构建 url:https://drive.google.com/uc?id=..file..id..goes..here

最佳答案

这是一个非常古老的问题,没有答案。我遇到了类似的困境,即 webcontentlink 结果为 NULL。解决方案是您需要将“webContentLink”放入请求的字段属性中,如下所示。

listRequest.Fields = "id, webContentLink";

关于c# - Google Drive .NET SDK 版本 3 - 可共享链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37265379/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com