TikTok 發布
了解如何連結 TikTok 帳號並上傳影片到 TikTok。
連結 TikTok 帳號
前置條件
- 一個 TikTok 帳號(沙盒模式需設為私人帳號)
- 已登入 Boring 控制台
連結步驟
- 在控制台點擊 「Connect TikTok」 按鈕
- 登入 TikTok(如果尚未登入)
- 檢視並授予必要權限:
video.upload- 上傳影片到您的帳號video.publish- 發布影片user.info.basic- 基本用戶資訊user.info.profile- 個人檔案資訊user.info.stats- 用戶統計資料video.list- 列出您的影片
- 點擊 「Authorize」 完成授權
您的 TikTok 帳號現在會出現在已授權帳號列表中,顯示:
- 顯示名稱
- 個人頭像
- 平台標籤(TikTok)
- 唯一帳號 ID(點擊「Copy ID」可複製)
- 測試上傳按鈕
- 中斷連結選項
Token 資訊
- Token 類型:OAuth 2.0 Access Token 搭配 Refresh Token
- 過期時間:Access token 24 小時後過期
- 自動刷新:已啟用(發布前使用 refresh token)
- Refresh Token 過期時間:1 年
- 重新授權:僅在 refresh token 過期時需要
沙盒模式要求
在 TikTok 的沙盒/開發階段:
- 您的 TikTok 帳號必須設為私人帳號
- 影片將以
SELF_ONLY隱私設定發布 - 影片僅您本人可見
- 這是 TikTok API 對未審核應用程式的要求
支援的內容類型
TikTok 僅支援影片上傳(不支援照片或純文字貼文):
| 功能 | 說明 | 必填 | 限制 |
|---|---|---|---|
| 影片 | 影片檔案網址 | 是 | 建議使用 MP4 格式 |
| 說明文字 | 影片說明/描述 | 否 | 最多 2200 字元 |
| 隱私設定 | 隱私設定 | 否 | SELF_ONLY(沙盒)、PUBLIC_TO_EVERYONE、MUTUAL_FOLLOW_FRIENDS |
| 檔案大小 | 影片最大大小 | - | 最高 4GB |
| 時長 | 影片長度 | - | 最長 10 分鐘 |
發布範例
1. 基本影片上傳
{
"post": {
"accountId": "your-tiktok-account-id",
"content": {
"text": "看看這個超棒的影片! #tiktok #trending",
"mediaUrls": ["https://example.com/video.mp4"],
"platform": "tiktok"
},
"target": {
"targetType": "tiktok"
}
}
}
結果:影片已上傳並附上說明文字。
2. 帶有主題標籤的影片
{
"post": {
"accountId": "your-tiktok-account-id",
"content": {
"text": "跳最新的舞蹈潮流! 💃 #dance #fyp #trending #viral",
"mediaUrls": ["https://storage.googleapis.com/my-bucket/dance-video.mp4"],
"platform": "tiktok"
},
"target": {
"targetType": "tiktok"
}
}
}
結果:影片已上傳並附上說明文字和主題標籤。
實作細節
上傳流程
TikTok 使用專門的分塊上傳流程:
- 下載:從提供的網址下載影片
- 分塊計算:
- 檔案 < 5MB:以單一分塊上傳
- 檔案 ≥ 5MB:使用無條件捨去法分割成 10MB 分塊
- 公式:
total_chunks = floor(file_size / chunk_size) - 最後一個分塊吸收所有剩餘位元組(可能超過 10MB,最大 128MB)
- 初始化:以分塊數量初始化上傳會話
- 上傳分塊:每個分塊以 Content-Range 標頭上傳
- 處理中:TikTok 處理影片(需要 10-30 秒)
- 發布:影片發布到您的帳號
分塊計算範例
對於 29.9MB 影片(29,957,059 位元組):
- 分塊大小:10MB(10,485,760 位元組)
- 總分塊數:
floor(29957059 / 10485760) = 2 - 分塊 1:位元組 0-10,485,759(10MB)
- 分塊 2:位元組 10,485,760-29,957,058(19.47MB - 吸收剩餘部分)
回應格式
成功回應
{
"success": true,
"postSubmissionId": "ca5b8e50-9376-4fbb-b2fc-b619849e3574",
"platform": "tiktok",
"post_type": "video",
"publish_id": "v_pub_file~v2-1.7577571164748499000",
"status": "PUBLISH_COMPLETE",
"message": "貼文發布成功"
}
失敗回應
{
"success": false,
"error": "Account is not a TikTok account",
"platform": "tiktok"
}
常見問題
1. "Account is not a TikTok account"
原因:提供的 accountId 屬於其他平台。
解決方案:
- 使用正確的 TikTok 帳號 ID
- 從控制台點擊您 TikTok 帳號上的「Copy ID」取得
2. "unaudited_client_can_only_post_to_private_accounts"
原因:您的 TikTok 帳號未設為私人帳號(沙盒模式需要)。
解決方案:
- 前往 TikTok 應用程式設定
- 將您的帳號設為私人帳號
- 在 Boring 中中斷連結並重新連結您的 TikTok 帳號
- 再次嘗試發布
3. "total chunk count is invalid"
原因:分塊計算的內部錯誤(目前實作不應發生)。
解決方案:如果遇到此錯誤請聯繫支援。
4. "url_ownership_unverified"
原因:嘗試使用 PULL_FROM_URL 方法但未進行網域驗證。
解決方案:這不應該發生 - Boring 自動使用 FILE_UPLOAD 方法,不需要網址驗證。
成效指標
發布後,您可以查看 TikTok 影片成效:
- 點擊 TikTok 帳號旁的 「View Performance」
- 查看您影片的指標:
- 觀看次數:影片被觀看的次數
- 讚數:影片的讚數
- 留言數:留言數量
- 分享數:影片被分享的次數
- 影片說明:說明文字
- 時長:影片長度(秒)
- 建立時間:影片發布時間
最佳實踐
- 影片格式:使用 MP4 格式以獲得最佳相容性
- 檔案大小:保持影片在 100MB 以下以加快上傳速度
- 說明文字:使用吸引人的說明文字搭配相關主題標籤
- 主題標籤:包含 3-5 個相關主題標籤以提高曝光率
- 影片品質:上傳 1080p 或更高品質以獲得最佳效果
- 時長:保持影片在 15-60 秒之間以獲得最佳互動
- 測試:在 API 整合前使用「Test Upload」按鈕測試
速率限制
TikTok API 有以下速率限制:
- 發布:每個帳號每小時 6 部影片
- 成效:每個帳號每天 100 次請求
超過這些限制將導致 429 Too Many Requests 錯誤。
下一步
- Publishing API 參考 - 完整 API 文件
- Python 範例 - Python 程式碼範例
- JavaScript 範例 - JavaScript 程式碼範例
- cURL 範例 - 命令列範例