c# - YoutubeAPI v3 - 设置缩略图返回已完成状态,但没有在视频上设置缩略图
问题描述
我正在开发一个用于将视频上传到 YouTube 的 .NET Core 2.2 WebAPI 服务。除了上传视频之外,服务还必须将自定义缩略图上传到上传的视频。
我找不到这个特定任务的代码示例,所以我根据上传视频的示例实现了缩略图上传。我尝试过上传大量视频(属于授权帐户),并尝试上传各种大小和形状不同的缩略图,但没有一个能上传到视频中。
using (var youtubeService = await GetYouTubeService())
using (var fileStream = new FileStream(request.ThumbnailFilePath, FileMode.Open))
{
var thumbnailSetRequest = youtubeService.Thumbnails.Set(request.YoutubeId, fileStream, "image/jpeg");
thumbnailSetRequest.ProgressChanged += ThumbnailSetRequest_ProgressChanged;
var result = await thumbnailSetRequest.UploadAsync();
if (result.Status == UploadStatus.Failed)
{
Logger.Error($"Unable to upload thumbnail for video (YT id: {request.YoutubeId})");
}
}
每次我执行此代码时,都不会引发异常,并且返回result.Status
的总是设置为 Complete,但在请求的视频上没有设置缩略图。我错过了什么?为什么 API 向我提供上传成功的信息,但显然不是?
解决方案
看起来这确实是上传缩略图的正确代码,但由于某种原因有时它不起作用。在发布此问题几天后,我在测试应用程序的另一部分并看到这次添加了缩略图时,我已经执行了此代码而没有任何更改。
如果我知道为什么会发生这种情况会非常有用,但由于这是 Google 推荐的帮助渠道,而且他们没有提供任何答案,所以它仍然是一个谜。
推荐阅读
- ios - 如何使用操作查询发出多个 Alamofire 请求
- angular - 无法与 socket.io 建立连接 - Angular 7
- android - rxjava中just()操作符的不同用法
- angular - 如何在生产版本上升级 Angular 7 后修复“错误:模板解析错误:找不到管道‘异步’”
- c++ - 如何解决 api-ms-win-core-version-I1-1-1.dll 等 Mincore.lib 依赖项
- python - Python Bokeh 在 legend.click_policy = 'hide' 或 'mute' 中定义预选的散景
- postgresql - 是否可以重建 pg_depend?
- file - 使用 .csv 文件作为参考来制作多个自签名证书
- reactjs - Redux-Persist 和 Connected-React-Router:TypeError:无法读取未定义的属性“位置”
- pyspark - 如何在 Pyspark 中实现对速度的有效时间长度转换?