如何从TikTok API获取授权码?PHP服务端无交互调用API取粉丝数
TikTok API授权码获取与无交互服务端调用方案
一、获取TikTok授权码的流程
- 先在TikTok开发者平台创建应用,拿到
client_key和client_secret,同时配置好授权回调地址redirect_uri - 构造授权跳转URL,核心参数如下:
client_key: 你的应用唯一标识redirect_uri: 已配置的回调地址scope: 申请权限,比如user.info.basic(包含粉丝数等基础信息)response_type: 固定为codestate: 自定义随机字符串,用于验证请求合法性
- 引导账号持有者(你自己)访问该URL,完成TikTok登录和授权后,平台会重定向到
redirect_uri,并在URL参数中返回code,这个就是授权码 - 授权码有效期极短,需立即用它换取
access_token和refresh_token
二、服务端无交互调用的实现方式
TikTok官方API中,获取个人账号粉丝数属于用户隐私数据,必须经过用户授权,但可以通过以下方式实现后续无交互调用:
- 手动完成一次授权流程,获取长期有效的
refresh_token(有效期以平台规则为准) - 服务端定期用
refresh_token自动刷新access_token,无需用户再次参与 - PHP调用示例:
刷新access_token
$clientKey = '你的client_key'; $clientSecret = '你的client_secret'; $refreshToken = '首次授权获取的refresh_token'; $tokenUrl = 'https://open.tiktokapis.com/v2/oauth/token/'; $postData = http_build_query([ 'client_key' => $clientKey, 'client_secret' => $clientSecret, 'grant_type' => 'refresh_token', 'refresh_token' => $refreshToken ]); $context = stream_context_create([ 'http' => [ 'method' => 'POST', 'header' => 'Content-Type: application/x-www-form-urlencoded', 'content' => $postData ] ]); $response = json_decode(file_get_contents($tokenUrl, false, $context), true); $newAccessToken = $response['access_token']; $newRefreshToken = $response['refresh_token']; // 建议保存新的refresh_token用于下次刷新
获取粉丝数
$infoUrl = 'https://open.tiktokapis.com/v2/user/info/?fields=follower_count'; $context = stream_context_create([ 'http' => [ 'method' => 'GET', 'header' => "Authorization: Bearer {$newAccessToken}" ] ]); $userInfo = json_decode(file_get_contents($infoUrl, false, $context), true); $followerCount = $userInfo['data']['user']['follower_count'];
注意:不存在完全无需用户授权就能直接调用获取个人粉丝数的方案,TikTok的Client Credentials Flow仅适用于应用自身的公开数据,无法获取个人用户的隐私数据。
内容的提问来源于stack exchange,提问作者Alexandre
相关产品推荐
相关产品推荐

