← 返回目录
📁 API Reference › Accounts › Posts

将照片帖子发布到自有账号

此接口可用于将图片帖子发布到自有 TikTok 账号。

如需了解可订阅的帖子发布 Webhook 事件,参见帖子发布事件。若想为你的开发者应用配置 Webhook 回调 URL,需使用 Webhook API 接口 /business/webhook/update/。

注意
为鼓励真实分享,防止滥发帖子,TikTok 限制了通过该接口为每个 TikTok 账号发布图片帖子的数量:每分钟最多发布 6 个图片帖子,每天最多发布 15 个图片帖子。

请求

地址:https://business-api.tiktok.com/open_api/v1.3/business/photo/publish/

方法:POST

Header

|字段{30%}|类型{15%}|描述{55%}|
|---|---|---|
|Access-Token {必填}|string|经 TikTok 达人授权的访问令牌。<br>若想获取访问令牌,需使用 [/tt_user/oauth2/token/](1833997638479041.html) 接口。|
|Content-Type {必填}|string|请求信息类型。<br>允许格式:`application/json`。  |

参数

|字段{30%}|类型{10%}| 参数位置{10%}|描述{50%}|
|--- |--- |--- |--- |
| business_id {必填} | string | Body | TikTok 账号的开发者应用唯一识别 ID。<br><br>需将 [/tt_user/oauth2/token/](1833997638479041.html) 接口返回的 `open_id` 字段值传入本字段。|
|photo_images {必填} | string[] | Body | 最多包含 35 个指向待发布图片内容的可公开访问的 HTTP(s) URL 列表。<br><br><strong>图片限制</strong>: <ul><li> 图片最高分辨率:1080 x 1920 px 或 1920 x 1080 px。</li><li>文件大小:每张图片不超过 20 MB。</li><li>文件类型:JPG、JPEG 或 WebP。</li></ul><strong>示例</strong>:https://tiktok.com/tiktok-images/image.jpg <br><br><p><span style="color:darkred"><b>重要说明</b></span>: <ul><li>无法使用未验证的图片 URL 发布图片帖子。为确保顺利集成 API,建议你尽快验证 URL 资源的所有权,并指定已手动或自动验证所有权的 URL。<br>若想手动验证 URL 资源的所有权,请按照[管理 URL 资源](https://ads.tiktok.com/marketing_api/docs?id=1769324038780930)中所述的步骤操作。</li><li>请注意,如果你是开发者或广告主,且在 2023 年 4 月 7 日之前曾使用 [/business/video/publish/](1762228496095234.html) 接口发布过视频,我们已将通过 `video_url` 参数指定的视频 URL 对应的域自动设置为“已验证”状态。因此,建议你使用 [/business/property/list/](1769325368603650.html) 接口,确认用于存放图片的域是否已通过自动验证。</li></ul> |
| photo_cover_index | number | Body | 用作帖子封面的图片的索引。<br><br>默认值:`0`(第一张图片)。<br><br>例如,若想使用第二张图片作为帖子封面,将此字段设置为 `1`。 |
| post_info {必填} | object | Body | 图片帖子相关信息。 |
#| privacy_level {必填} | string| | 图片帖子的隐私级别。  <br><br>枚举值: <ul><li>`PUBLIC_TO_EVERYONE`:所有人(TikTok 站内外的用户)。 </li><li>`MUTUAL_FOLLOW_FRIENDS`:好友(互关粉丝)。 </li><li> `FOLLOWER_OF_CREATOR`:粉丝(仅对你的私密账号的粉丝可见)。</li><li> `SELF_ONLY`:仅限本人。</li></ul><br>若想确定 TikTok 账号帖子的允许的值,需使用 [/business/video/settings/](1816387951979521.html) 接口,并查看返回的 `privacy_level_options`。 |
#| title | string| | 帖子标题。<br><br>长度限制:90 个符文(UTF-16 代码单元)。 |
#| caption | string |  | 帖子说明文字/描述 - 可以包含自有 TikTok 账号好友(互关)的 #hashtags 和 @mentions。<br><br>长度限制:4,000 个符文(UTF-16 代码单元),最多提及 30 条。<br><br>你可以使用“\n”作为换行符,在 TikTok 手机应用中将帖子说明文字分成多行显示。为了能够有效换行,说明文字必须包含足够多的字符,以便在当前手机的显示设置和操作系统下触发文本截断。截断的文本会在末尾添加省略号 (...) 和单词“more”(更多),用户可点击展开,查看完整说明文字。<br>如果说明文字过短,无法触发截断,“\n”字符将被忽略,说明文字将以单行显示,无任何换行。<br>请注意,在 TikTok 网页版应用中,“\n”将始终被忽略。<br><br>示例:Me and me casa 🏠 #cat #kitten #britishshorthair<br><br><p><span style="color:darkred"><b>注意</b></span>:帖子说明文字中包含的任何话题和提及将会在 TikTok 应用中显示为纯文本格式。 |
#| auto_add_music | boolean| | 是否为帖子自动添加推荐的音乐。<br><br>枚举值:`true`、`false`。默认值:`false`。<br><br>如果将此字段设置为 `true`,之后可在 TikTok 应用中更改音乐。 |
#| is_brand_organic {必填}| boolean| |  是否为视频启用品牌自然流量内容开关。<br><br>如果将此字段设置为 `true`,视频将被标记为品牌自然流量内容,表示你在推广自己的品牌或业务。视频将添加“推广内容”标签。 <br><br><p><span style="color:darkred"><b>注意</b></span>: <ul><li>如果将 `is_brand_organic` 和 `is_branded_content` 都设置为 `true`,`is_brand_organic` 将被忽略,视频将被标记为品牌内容。 </li></ul>|
#| is_branded_content {必填}| boolean |    | 是否为视频启用[品牌内容](https://creatormarketplace.tiktok.com/help#/doc/9493/10008169)开关。<br><br>  如果将此字段设置为 `true`,视频将被标记为品牌内容,表示你与品牌存在付费合作关系。视频将添加“品牌内容”标签。 <br><br><p><span style="color:darkred"><b>注意</b></span>:<ul><li>如果将 `is_brand_organic` 和 `is_branded_content` 都设置为 `true`,`is_brand_organic` 将被忽略,视频将被标记为品牌内容。</li></ul>  |
#| is_draft | boolean | |是否将帖子上传为草稿。<br><br>支持的值:`true`、`false`。<br>默认值:`false`。<br><br>如果将此字段设置为 `true`,除 `title` 和 `caption` 以外,`post_info` 内的其他所有字段将被忽略。<br><br><p><span style="color:darkred"><b>注意</b></span>:如果你想使用此参数将帖子上传为草稿,需按照[授权](1738083939371009.html)和[获取访问令牌](1738084387220481.html)中的步骤,获取具有 `video.upload` 权限的 TikTok 账号访问令牌,以及该 TikTok 账号的开发者应用唯一识别 ID。<ul><li>若想确认 TikTok 账号访问令牌是否具有 `video.upload` 权限,需使用 [/tt_user/token_info/get/](1765927978092545.html) 接口并查看返回的范围。如果访问令牌没有 `video.upload` 权限,请按照[授权](1738083939371009.html)工作流程,向 TikTok 账号所有者申请上传草稿的权限。</li></ul> |
#| disable_comment | boolean |   | 是否禁用已发布的图片帖子的“允许评论”设置。<br><br>支持的值: <ul><li>`false`:启用该设置。</li><li>`true`:禁用该设置。</li></ul><br>若想确定 TikTok 账号帖子的允许的值,需使用 [/business/video/settings/](1816387951979521.html) 接口,并查看返回的 `comment_disabled`。<ul><li>如果 `comment_disabled` 为 `true`,只能将此字段设置为 `true`。</li><li>如果 `comment_disabled` 为 `false`,可将此字段设置为 `true` 或 `false`。</li></ul><br><strong>默认值</strong>:`false` <br><br><strong>示例</strong>:`false`|
#| music_sound_info | object |  | 要用于照片的曲目的信息。 |
##| music_sound_id {+条件必填} | string |  | 使用 `music_sound_info` 时,此为必填字段。<br>要用于照片的曲目的商用音乐库 ID。你可以使用 [/discovery/cml/trending_list/](1825119063013505.html) 接口获取此 ID。|
#|location_id|string||地域标签 ID。<br><br>当发布带有地域标签(包含 `location_id` 和 `location_name`)的帖子时,相关地域将添加到帖子中,并在帖子中显示。添加地域标签有助于当地受众以及搜索该地区的用户发现你的帖子。此外,这还能让你的内容与附近地区的用户更相关,进而提升互动率。<br><br>若想获取 TikTok 账号的可用地域标签列表,需使用 [/business/publish/location/](https://business-api.tiktok.com/portal/docs/get-the-location-tags-for-a-tiktok-account/v1.3) 接口。|
#|location_name {+条件必填}|string||指定 `location_id` 时必填。<br><br>地域名称。|

示例

(code curl http)
curl --location --request POST 'https://business-api.tiktok.com/open_api/v1.3/business/photo/publish/' \
--header 'Access-Token: {{Access-Token}}' \
--header 'Content-Type: application/json' \
--data-raw '
{
    "business_id": "{{business_id}}",
    "photo_images": [
        "{{photo_image}}",
        "{{photo_image}}"
    ],
    "photo_cover_index": 0,
    "post_info": {
        "title": "{{title}}",
        "caption": "{{caption}}",
        "disable_comment": false,
        "privacy_level": "PUBLIC_TO_EVERYONE",
        "auto_add_music": true
    }
}'
(/code)

返回

返回 Header

注意
这些 Header 对于问题报告和排查非常重要,需要记录。下表列出了部分返回的 Header。

|字段{30%}|类型{15%}|描述{55%}|
|---|---|---|
| Date | string | 收到返回结果时的日期和时间 (GMT)。<br><strong>示例</strong>:Fri, 13 Aug 2024 08:04:42 GMT |
| X-Tt-Logid | string | API 请求的唯一识别 ID。 |

返回 Body

|字段{30%}|类型{15%}|描述{55%}|
|-|-|-|
| code | Integer | 返回码。完整返回码列表及描述参见[附录 - 返回码](https://ads.tiktok.com/marketing_api/docs?id=1737172488964097)。|
|message| string | 返回信息。更多信息参见[附录 - 返回信息](https://ads.tiktok.com/marketing_api/docs?id=1737172488964097)。 |
| request_id | string | API 请求的唯一识别 ID。<br><br>请记录所有 API 请求的唯一识别 ID,此字段对于问题报告和排查非常重要。 |
| data | object | 返回数据。 |
#|share_id| string | 图片帖子发布任务的唯一识别 ID。<br>你可以在 [/business/publish/status/](1816387106635778.html) 接口中将此 ID 用作 `publish_id`,以查询图片帖子的发布状态。<br><br><strong>示例</strong>:p_pub_url~v1.2345123456789123456<br><br><p><span style="color:darkred"><b>注意</b></span>:<ul><li>用于已分享图片内容的[图片帖子发布状态 Webhook](1810515090228226.html) 将包含此开发者应用识别 ID,以监测图片上传的状态。图片发布完成后,成功运行的 Webhook 也将包含为该图片帖子新建的唯一识别 ID,可用于获取帖子洞察。</li><li>若想为你的开发者应用配置 Webhook 回调 URL,需使用 Webhook API 接口 [/business/webhook/update/](1810521279479810.html)。 </li></ul>|

示例

(code curl http)
HTTPS/1.1 200 OK
{
    "code": 0,
    "message": "OK",
    "request_id": "{{request_id}}",
    "data": {
        "share_id": "{{share_id}}"
    }
}
(/code)

内容来源:TikTok API for Business 官方文档 · 本地归档

在接这个接口时卡住了?
Stuck wiring this API into production? We build ad-delivery tooling on these platforms — campaign automation, reporting pipelines, error-handling and migration between API versions.
联系我们 · Talk to us 每日平台更新简报 →