TikTok 發布
✅ 正式上線 - 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 過期時需要
隱私設定
影片預設以 PUBLIC_TO_EVERYONE 隱私設定發布,所有 TikTok 用戶都可以看到。
支援的內容類型
TikTok 支援影片上傳和圖片輪播貼文:
| 功能 | 說明 | 必填 | 限制 |
|---|---|---|---|
| 影片 | 影片檔案網址 | 影片或圖片擇一 | MP4 格式,最高 4GB,最長 10 分鐘 |
| 圖片 | 圖片檔案網址(輪播) | 影片或圖片擇一 | 僅支援 JPEG/WEBP,最多 35 張。PNG 會自動轉換為 JPEG。 |
| 說明文字 | 影片/圖片說明 | 否 | 最多 2200 字元 |
| 隱私設定 | 隱私設定 | 是 | 必須由用戶選擇 |
| 草稿模式 | 傳送到收件箱作為草稿 | 否 | 創作者在 TikTok app 中手動發布 |
TikTok 選項(必填)
根據 TikTok Content Posting API 合規要求,發布時必須提供以下選項:
| 參數 | 類型 | 必填 | 說明 |
|---|---|---|---|
privacyLevel |
string | 是 | 隱私等級(無預設值,必須選擇)。值:PUBLIC_TO_EVERYONE、MUTUAL_FOLLOW_FRIENDS、FOLLOWER_OF_CREATOR、SELF_ONLY |
allowComment |
boolean | 否 | 允許評論(預設:false) |
allowDuet |
boolean | 否 | 允許合拍(預設:false) |
allowStitch |
boolean | 否 | 允許拼接(預設:false) |
brandContentToggle |
boolean | 否 | 品牌合作內容 / 付費合作(預設:false) |
brandOrganicToggle |
boolean | 否 | 自有品牌 / 宣傳內容(預設:false) |
隱私等級限制
privacyLevel為必填 - 沒有預設值- 當
brandContentToggle為true時,privacyLevel不能是SELF_ONLY(私人) - 可用的隱私等級取決於創作者的帳號設定
商業內容披露
披露商業內容時:
- 自有品牌(
brandOrganicToggle):影片標記為「宣傳內容」 - 品牌合作內容(
brandContentToggle):影片標記為「付費合作」 - 兩者都選擇:影片標記為「付費合作」
同意聲明
發布到 TikTok 時,用戶同意:
- 預設:TikTok 的音樂使用確認
- 包含品牌合作內容:TikTok 的品牌內容政策和音樂使用確認
發布範例
1. 基本影片上傳(公開)
{
"post": {
"accountId": "your-tiktok-account-id",
"content": {
"text": "看看這個超棒的影片! #tiktok #trending",
"mediaUrls": ["https://example.com/video.mp4"],
"platform": "tiktok"
},
"tiktokOptions": {
"privacyLevel": "PUBLIC_TO_EVERYONE",
"allowComment": true,
"allowDuet": true,
"allowStitch": true
}
}
}
結果:公開影片,啟用評論、合拍和拼接功能。
2. 私人影片(僅限好友)
{
"post": {
"accountId": "your-tiktok-account-id",
"content": {
"text": "只給我的朋友看! 🤫",
"mediaUrls": ["https://example.com/video.mp4"],
"platform": "tiktok"
},
"tiktokOptions": {
"privacyLevel": "MUTUAL_FOLLOW_FRIENDS",
"allowComment": true,
"allowDuet": false,
"allowStitch": false
}
}
}
結果:僅好友可見的影片,啟用評論。
3. 品牌合作內容(付費合作)
{
"post": {
"accountId": "your-tiktok-account-id",
"content": {
"text": "來自 @brand 的超棒產品! #ad #sponsored",
"mediaUrls": ["https://storage.googleapis.com/my-bucket/sponsored-video.mp4"],
"platform": "tiktok"
},
"tiktokOptions": {
"privacyLevel": "PUBLIC_TO_EVERYONE",
"allowComment": true,
"allowDuet": false,
"allowStitch": false,
"brandContentToggle": true
}
}
}
結果:公開影片,標記為「付費合作」。
注意:品牌合作內容(
brandContentToggle: true)不能設為私人(SELF_ONLY)。
4. 宣傳內容(自有品牌)
{
"post": {
"accountId": "your-tiktok-account-id",
"content": {
"text": "看看我的新課程!連結在個人簡介 🎓",
"mediaUrls": ["https://example.com/promo-video.mp4"],
"platform": "tiktok"
},
"tiktokOptions": {
"privacyLevel": "PUBLIC_TO_EVERYONE",
"allowComment": true,
"allowDuet": true,
"allowStitch": true,
"brandOrganicToggle": true
}
}
}
結果:公開影片,標記為「宣傳內容」。
實作細節
上傳流程
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. "total chunk count is invalid"
原因:分塊計算的內部錯誤(目前實作不應發生)。
解決方案:如果遇到此錯誤請聯繫支援。
3. "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 範例 - 命令列範例