← 返回目录
📁 Organic API › Accounts API › Guides › Get started

授权

使用账号 API 前,开发者需要从商家获取管理商家账户的授权。

前提

步骤

  1. 开发者将授权 URL 分享给 TikTok 账号用户。若想获取该 URL,可导航至应用管理 > App Detail > 基本信息 > TikTok账户授权URL。

注意
若 TikTok 账号用户之前已经为该开发者应用授权过相同的权限,第 2 步中的权限范围审核和批准页面将被跳过,TikTok 账号用户将直接重定向到重定向 URL。若想禁用针对已授权的 TikTok 账户用户的自动重定向机制,开发者需要在与 TikTok 账号用户分享 URL 之前,在 TikTok 账户授权 URL 末尾手动添加&disable_auto_auth=1。

例如,如果原授权 URL 是https://www.tiktok.com/v2/auth/authorize?{parameters},开发者应分享添加了禁用参数的https://www.tiktok.com/v2/auth/authorize?{parameters}&disable_auto_auth=1。


TikTok账户授权URL

为确保用户授权时无报错出现,需为您的开发者 App 上传App标志图片,该图片将在授权时展示给用户。若您尚未上传App标志图片,则需上传格式为JPG、JPEG、或PNG,且分辨率不超过 512 * 512px 的图片。
App标志

若未上传App标志图片,用户在授权时可能会看到报错页面。以下为报错页面的示例:
报错页面

需注意,若您无法在应用管理 > App Detail > 基本信息中找到TikTok账户授权URL,可导航至授权 > 权限范围。您需确保您为开发者应用启用了"TikTok Accounts"权限。


TikTok Accounts权限

注意
为安全起见,您可以向授权 URL 添加一个唯一的 state 参数,以此作为防御 CSRF 攻击的机制。在用户重定向后,该参数将作为查询参数回传至您的应用。

重定向 URL 的格式规则

主要
每个开发者应用程序最多可以配置 10 个 TikTok 账户主重定向 URL。重定向 URL 启用后会自动生成一个新的 TikTok 账户授权 URL。系统仅支持启用一个重定向 URL,启用状态的重定向 URL 用红色标记。仅存在一个 TikTok 重定向 URL 时,默认启用该 URL。若存在多个重定向 URL,可通过点击想启用的 URL 来进行启用。

TikTok 账户持有人重定向 URL

为您的开发者应用指定TikTok 账户持有人重定向 URL时,需遵循以下格式规则:

| 序号 {7%} | 规则 {24%}| 正确示例 {32%}| 错误示例{37%} |
|---|---|---|---|
| 1 | URL 必须为绝对地址,且以`/`结尾。 | `https://dev.example.com/auth/callback/` | <ul><li>`https://dev.example.com/auth/callback`<ul><li>确少结尾 `/ `</li></ul></li><li> `/auth/callback/` <ul><li>缺少架构和域</li></ul></li></ul>|
|  2 | URL 应为静态地址,且不允许使用参数。 | `https://dev.example.com/auth/callback/`| <ul><li>`https://dev.example.com/auth/callback/?id=1`<ul><li>包含查询参数`?id=1`</li></ul></li></ul>|
|  3 | URL 不可包含锚点`#`。 | `https://dev.example.com/auth/callback/` | <ul><li>`https://dev.example.com/auth/callback/#1`<ul><li>包含锚点 `#1`</li></ul></li></ul> |
|  4 | URL 必须以`https://`为开头。 | `https://dev.example.com/auth/callback/` | <ul><li>`http://dev.example.com/auth/callback/` <ul><li>使用`http`而非`https`</li></ul></li></ul>|
| 5 |  URL 不能包含端口。 | `https://dev.example.com/auth/callback/` | <ul><li>`https://dev.example.com:3000/auth/callback/` <ul><li>包含端口号 `:3000` </li></ul></li></ul>|
|  6 | 注册的 URI 长度应为 10 到 512 个字符。 | N/A |N/A |

否则,您将收到如下的错误提示。您可以根据提示修改该URL。


报错提示

重定向 URL 的迁移指南

若想迁移 TikTok 账户持有人重定向 URL,请遵循步骤:

(1)删除重定向 URL 中路径末尾可能存在的所有(由?符号表示的)查询参数或(由#符号表示)片段。您的URL应该以斜杠/结尾。

(2)如果您从重定向 URL 中删除了查询参数,但想实现相同的效果,请在TikTok账户持有人授权 URL 中使用 state 参数。这涉及将查询参数编码为JSON对象,并将它们作为 state 参数的值包含在授权 URL 中内。以下为将查询参数编码为 state参数的示例:

示例1: - 原始 TikTok 账户持有人重定向 URL :https://www.tiktok.com/photo?source=tiktok - 查询参数:?source=tiktok - 要添加到 TikTok 账户授权 URL 中的编码后的 state 参数:&state={"source":"tiktok"}

示例2: - 原始 TikTok 账户持有人重定向 URL :https://www.tiktok.com/photo?source=tiktok&platform=web - 查询参数:?source=tiktok&platform=web - 要添加到 TikTok 账户授权 URL 中的编码后的state 参数:&state={"source":"tiktok","platform":"web"}

(3)在重定向 URL 中获取到授权码后,请从 TikTok 账户授权 URL 中的 state 参数中提取查询参数值。这涉及将 state 参数中的JSON编码字符串解码为字典或对象,然后访问该字典中特定键的值。

以下为在Python中解码 state参数的示例:

(code curl http)
import json
from urllib.parse import unquote

state_value = '%7B%22source%22%3A%22tiktok%22%7D'
state = unquote(state_value)
state_dict = json.loads(state)
source = state_dict.get('source')
print(state_dict)

# Output: {'source': 'tiktok'}
(/code)
  1. TikTok 账号用户审核批准授权请求。TikTok 账号用户可以在 TikTok 应用内随时撤销授权。

需注意,若 TikTok 账号用户无法看到权限范围审核和批准页面,并被重定向到其他页面,这可能是由于针对已授权的 TikTok 账户用户的自动重定向机制。若想了解如何禁用自动重定向机制,请参阅第 1 步中的相关说明。


审核批准授权请求

  1. TikTok 账号用户为应用请求的权限范围进行授权后,会跳转至应用指定的回调地址,该地址包含作为附加参数的授权码(若一开始添加了 state 参数,地址还会包含 state 参数)。应用回调地址可通过 应用管理 > App Detail > 基本信息 > TikTok 账户持有人重定向URL查看。

该授权码(auth_code)是后续生成访问令牌,获取接口访问权限的必要条件。

重要
授权码(auth_code)有效时间为 10 分钟,且仅可使用一次。过期后,您需要重新进行授权流程来获取一个新的授权码。

TikTok 账户主重定向 URL

  1. 开发者通过使用(用户跳转后作为参数添加的)授权码,可向 /tt_user/oauth2/token/ 接口发送请求,以获取访问令牌。

内容来源: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 每日平台更新简报 →