Youtube API v3 - 设置缩略图 [=10th=] 已完成状态,但未在视频上设置缩略图
YoutubeAPI v3 - Setting thumbnail returns Completed status, but no thumbnail is set on video
我正在开发用于将视频上传到 YouTube 的 .NET Core 2.2 WebAPI 服务。除了上传视频,服务还必须为上传的视频上传自定义缩略图。
我找不到这个特定任务的代码示例,所以我实现了基于 on the sample for uploading a video 的缩略图上传。我试过上传许多视频(属于授权帐户)并尝试上传各种不同大小和形状的缩略图,但 none 成功上传到视频中。
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 推荐的求助渠道,而且他们没有提供任何答案,所以这将是一个谜。
我正在开发用于将视频上传到 YouTube 的 .NET Core 2.2 WebAPI 服务。除了上传视频,服务还必须为上传的视频上传自定义缩略图。
我找不到这个特定任务的代码示例,所以我实现了基于 on the sample for uploading a video 的缩略图上传。我试过上传许多视频(属于授权帐户)并尝试上传各种不同大小和形状的缩略图,但 none 成功上传到视频中。
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 推荐的求助渠道,而且他们没有提供任何答案,所以这将是一个谜。