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

标签 javascript node.js axios fetch-api tiktok

我正在尝试使用此端点将视频上传到 Tiktok:
https://open-api.tiktok.com/share/video/upload/
按照官方文档:
https://developers.tiktok.com/doc/web-video-kit-with-web
(在成功通过 Tiktok 进行身份验证并使用 Login Kit API 获取访问 token 之后)。
我收到一个表明成功的响应(error_code=0 和非空的 share_id),但是没有上传任何内容,并且我的 Tiktok 应用程序的回调 url 似乎没有被任何状态更新触发。
我尝试从几个不同的环境中访问 API - Node.js 运行时(使用 Axios)、来自 2 台不同机器的 cURL 请求(都得到上述结果)以及使用 Fetch 的前端代码(这个让我CORS 错误)。下面的代码片段。
将不胜感激任何帮助,因为我不知道下一步该尝试什么。此外,如果除了我链接到的文档或在线资源之外还有任何其他文档或在线资源可能会有所帮助,那么任何指向此类的链接都会很棒。
注意:我确保我的测试视频满足文档中提到的约束。
我的 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 header 中使用相同的 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));

最佳答案

您需要下载 TikTok 应用程序,然后发布您的 API 上传的视频。

The user who triggered the video upload should receive a notification on TikTok App after the video uploaded successfully and the user can publish the video on the app.

关于javascript - 无法使用 Web Video Kit API 将视频发布到 Tiktok,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70012013/

相关文章:

javascript - 使用带参数对象的 Axios Post 没有返回数据

javascript - 来自 URL 的 $_GET 不起作用

node.js - Node.JS 中的简单 DNS 服务器? (主要/权威 DNS 服务器)(也许是 ndns?)

regex - fs.writefile 仅在 Node js 中的最后一个函数中执行

javascript - Axios.get 返回纯 html 而不是 JSON 返回数据

javascript - 如何通过 Amplify REST 请求传递正文数据?

node.js - ReactJS : Async function with axios call makes axios call in componentDidUpdate to return promise

javascript - 如何将 javascript 结果保存到 gulp 中的文件中

javascript - 动态创建的元素上的事件绑定(bind)?

javascript - Node.Js 中的 urlencoded 与 form-data