TikTok Accounts API问题:Access Token未过期却提示失效
TikTok Business API 40105 错误排查与解决
你遇到的40105错误(Access token is incorrect or has been revoked),即使令牌能正常刷新,也大概率是请求格式或参数的问题,以下是具体排查方向:
1. 移除请求头中的Bearer前缀
TikTok Business API的Access-Token请求头不需要添加Bearer前缀,直接传入令牌字符串即可。你的代码中错误地添加了该前缀,这是最常见的触发40105的原因:
# 错误写法 headers = { "Access-Token": f"Bearer {access_token}" } # 正确写法 headers = { "Access-Token": access_token }
2. 确认business_id参数正确性
你代码中使用的open_id可能并非API要求的business_id:
- 检查变量
open_id是否实际存储的是商家ID(business_id),避免混淆用户open_id和商家ID - 可以在TikTok商家后台确认你的business_id,确保传入参数完全匹配
3. 修正URL参数的编码问题
直接拼接URL容易导致JSON格式的fields参数编码错误,建议使用requests的params参数传递,让库自动处理编码:
def get_follower_count(): url = "https://business-api.tiktok.com/open_api/v1.3/business/get/" params = { "business_id": "你的正确business_id", "fields": '["display_name","followers_count"]' } headers = { "Access-Token": access_token } return requests.get(url, headers=headers, params=params)
4. 验证令牌的权限范围
确认获取Access Token时申请了对应权限:
- 检查授权流程中是否包含
business.info.basic(获取商家基础信息)的scope - 若缺少权限,需要重新发起授权流程,申请所需权限
5. 确认API环境匹配
如果你使用的是沙箱环境的令牌,需要切换沙箱API域名:
- 沙箱环境域名:
https://sandbox-business-api.tiktok.com - 正式环境域名:
https://business-api.tiktok.com
确保令牌和API环境一致,跨环境调用会触发令牌无效错误
6. 刷新获取新的Access Token
即使令牌是今日获取的,仍可尝试调用刷新令牌接口获取新的Access Token,偶尔会出现令牌生成时的异常情况,刷新后可恢复正常
内容的提问来源于stack exchange,提问作者Felix Bains
相关产品推荐
相关产品推荐

