无法使用 Web Video Kit API 将视频发布到 Tiktok

Posted

技术标签:

【中文标题】无法使用 Web Video Kit API 将视频发布到 Tiktok【英文标题】:Can't post videos to Tiktok using the Web Video Kit API 【发布时间】:2021-12-28 21:07:54 【问题描述】:

我正在尝试使用此端点将视频上传到 Tiktok:

https://open-api.tiktok.com/share/video/upload/

按照官方文档: https://developers.tiktok.com/doc/web-video-kit-with-web

(在成功通过 Tiktok 进行身份验证并使用 Login Kit API 获取访问令牌之后)。 我收到一个表明成功的响应(error_code=0 和非空的 share_id),但是没有上传任何内容,并且我的 Tiktok 应用的回调 url 似乎没有被任何状态更新触发。

我尝试从几个不同的环境中访问 API - Node.js 运行时(使用 Axios)、来自 2 台不同机器的 cURL 请求(都得到上述结果)以及使用 Fetch 从我的前端代码(这个一个给我一个CORS错误)。代码如下:sn-ps。

将感谢任何帮助,因为我不知道下一步该尝试什么。此外,如果除了我链接到的文档或在线资源之外还有任何其他文档或在线资源可能会有所帮助,那么任何指向此类的链接都会很棒。

注意:我确保我的测试视频满足文档中提到的限制条件。

我的 Node.js 代码:

    const url = `https://open-api.tiktok.com/share/video/upload?open_id=$openId&access_token=$accessToken`;
const data = new FormData();
data.append('video', fs.createReadStream(path.join(os.tmpdir(), 'test.mp4')));
await axios.post(url, data, 
  headers: data.getHeaders()
);

cURL 请求:

curl --location --request POST 'https://open-api.tiktok.com/share/video/upload?open_id=<open_id>&access_token=<access_token>' --form 'video=@"/path/to/video.mp4"'

响应负载(对于 cURL 和 Node.JS 请求):

"data":"err_code":0,"error_code":0,"share_id":"video.7031619168818448385.CGdXCmaC","extra":"error_detail":"","logid":"2021111721133201024513311411A971D3"

前端代码(获取,在 Location 标头中获取具有相同 Tiktok URL(/share/video/upload...)的 307 响应 - 导致 CORS 错误):

const formData = new FormData();
formData.append('video', selectedFile);

const requestOptions = 
  method: 'POST',
  body: formData,
  redirect: 'follow'
;

const URL = `https://open-api.tiktok.com/share/video/upload?access_token=$accessToken&open_id=$openId`;

fetch(URL, requestOptions)
  .then((response) => response.text())
  .then((result) => console.log(result))
  .catch((error) => console.log('error', error));

【问题讨论】:

您找到解决此问题的方法了吗?是否与应用审批或回调句柄有关? 【参考方案1】:

你需要下载tiktok app,而不是发布你的api上传的视频。

触发视频上传的用户应该会收到通知 视频上传成功后在 TikTok App 上,用户可以 在应用上发布视频。

【讨论】:

我在官方文档的任何地方都找不到这个,但它似乎是正确的过程。

以上是关于无法使用 Web Video Kit API 将视频发布到 Tiktok的主要内容,如果未能解决你的问题,请参考以下文章

华为视频编辑服务(Video Editor Kit),助力开发者高效构建应用视频编辑能力

HTML5 Video API - 全屏无法在 iPad 上使用 chrome/safari

无法使用 Youtube 数据 API 删除视频

如何为 Alexa Skills Kit 和 API.AI 使用单个 AWS Lambda?

ASP.Net Core Web Api 中的异步视频流不起作用

华为 Push Kit API - 从 rest Api 获取 Push Id