You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用R调用YouTube API上传缩略图时提示‘未包含图片内容’错误

修复YouTube API更新缩略图的"The request does not include the image content"错误

问题出在未遵循YouTube API的上传要求:接口需要将图片内容放在名为thumbnail的字段中,通过multipart/form-data格式提交,而你的代码直接将文件作为请求body,导致API无法识别图片内容。

修复步骤

  • 将文件包装在以thumbnail为键的列表中,让httr自动处理multipart/form-data编码
  • 使用query参数传递videoId,避免手动拼接URL导致的编码问题

修改后的完整代码

library(httr)
library(tuber)

# 替换为你的实际参数
video.id <- "[视频ID]"
thumbnail.path <- "[图片路径(推荐绝对路径)]"
youtube.client.id <- "[客户端ID]"
youtube.client.secret <- "[客户端密钥]"

yt_oauth(
    app_id = youtube.client.id,
    app_secret = youtube.client.secret,
    scope = 'partner'
)

# 构造正确的POST请求
req <- POST(
    url = "https://www.googleapis.com/youtube/v3/thumbnails/set",
    query = list(videoId = video.id),
    body = list(thumbnail = upload_file(thumbnail.path)),
    config(token = getOption("google_token"))
)

# 查看响应结果
print(content(req))

额外验证点

  • 确认图片路径正确:优先使用绝对路径,避免R工作目录变化导致的文件找不到问题
  • 检查图片规格:必须是JPG/PNG格式,分辨率不低于1280x720像素
  • 权限确认:partner范围满足接口要求,若仍有问题可尝试添加https://www.googleapis.com/auth/youtube.upload权限

内容的提问来源于stack exchange,提问作者Mickaël B

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 11:17:54