当前位置: 首页 > 知识库问答 >
问题:

YouTubeAPI:如何上传缩略图(JS)

孙胜泫
2023-03-14

我尝试使用以下指南在youtube上上传缩略图:https://developers.google.com/youtube/v3/docs/thumbnails/set

我能够使用以下curl在postman上成功运行它:

curl --location --request POST 'https://www.googleapis.com/upload/youtube/v3/thumbnails/set?videoId=<video id>' \
--header 'Authorization: OAuth <token>' \
--header 'Content-Type: image/png' \
--form 'thumbnail=@"/C:/Users/user/Pictures/nami.PNG"'

然而,我很难将其翻译成js,到目前为止我所做的是:

// the "file" is the File from <input type="file"> - data on this looks ok
uploadThumbnail async (file) {
   const formData = new FromData();
   const formData.append('thumbnail', file, 'test.png');


   await fetch.post('https://www.googleapis.com/youtube/v3/thumbnails/set', {
     headers: {
        Authorization: 'Oauth <token>',
        'Content-Type': 'multipart/form-data' // I also tried using the file.type here (image/png)
     },
     query: {
       videoId: <video id>
     },
     body: formData,
   })
}

(为了简化逻辑,我只手动键入上面的代码,如果有任何输入错误,请原谅。)

但是这抛出的请求不包括图像内容 我不明白,我也试着将文件转换成Blob,但同样的错误。


共有1个答案

岳凯康
2023-03-14

正如我在主要帖子上的评论中指出的,我结合了答案,想出了这个(这很有效!)

   await fetch.post(`https://www.googleapis.com/upload/youtube/v3/thumbnails/set?videoId=${videoId}&uploadType=media`, {
     headers: {
        Authorization: 'Bearer <token>',
        'Content-Type': file.type
     },
     body: file,
   })

错误是:

  • 我的endpoint是错误的,缺少上传(这个API不同于其他youtubeendpoint,所以如果你正在重用一个变量base_url最好检查一下。
  • 使用Oauth而不是承载
  • 获取中没有查询
  • 不需要转换和添加formData,而是直接传递文件。
 类似资料:
  • 接口说明 上传素材的缩略图 如需调用,请访问 开发者文档 来查看详细的接口使用说明 该接口仅开放给已获取SDK的开发者 API地址 POST /api/server/1.0.0/uploadImg 是否需要登录 是 请求字段说明 参数 类型 请求类型 是否必须 说明 guid string form 是 素材ID posx number form 是 相机位置X posy number form

  • 问题内容: 我想从用户上传的图像创建缩略图,以使图像看起来不被挤压。但也想要原始图像的副本。因此,我希望原始图像将原始图像发送到我的服务器,并创建一个拇指版本并将其发送到我的服务器,以便我可以为每个上传自己的图片。 我的用户表有2个表 我对编码的图像方面并不感到热衷,但这是到目前为止。 Imageupload.php media.profileimage.upload.php 不胜感激任何帮助或指

  • 我想生成以下文件格式的缩略图(第一页): PDF DOC/DOCX[MS OFFICE] PPT/PPTX[MS OFFICE]

  • 我们在YouTube上有一个CMS。我正在尝试使用Youtube API编写一个PHP脚本,上传录音并基于这些录音创建资产。我正在阅读关于在谷歌开发者中插入资产的参考资料: https://developers.google.com/youtube/partner/docs/v1/assets/insert 此处显示的示例是关于上传视频的。以下代码段演示如何创建视频插入请求。 //创建对API的v

  • 我正在尝试为我的项目制作一个视频上传功能。但我对ffmpeg部分有一个问题。ffmpeg已安装在我的服务器上。但我不能得到任何缩略图。我尝试使用以下代码创建缩略图: 但是当使用为和 字符串(74)”https://mywebsite.com/uploads/video/ey1kXNew_video.flv: 输入/输出错误“字符串(0)” 另外,如果我像这样使用: 和给我。 请帮帮我,我哪里错了。

  • 主要内容:实例,添加自定义的内容,实例本章将讲解 Bootstrap 缩略图。大多数站点都需要在网格中布局图像、视频、文本等。Bootstrap 通过缩略图为此提供了一种简便的方式。使用 Bootstrap 创建缩略图的步骤如下: 在图像周围添加带有 class .thumbnail 的 <a> 标签。 这会添加四个像素的内边距(padding)和一个灰色的边框。 当鼠标悬停在图像上时,会动画显示出图像的轮廓。 下面的实例演示了默认的