You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用TikTok Marketing API持续返回40115错误:Timestamp has expired

TikTok OAuth2 获取refresh_token返回40115 "Timestamp has expired" 问题解决

错误信息

{
  "code": 40115,
  "message": "Timestamp has expired."
}

问题分析

这个错误通常由以下几种原因导致:

  • 服务器时间偏差:TikTok OAuth接口会验证请求的时间有效性,若你的服务器本地时间与TikTok服务器时间差超过阈值(一般为1-5分钟),会直接触发该错误。你提到响应头显示即时日期,说明TikTok服务器时间正常,问题大概率出在你自己的服务器时间上。
  • auth_code过期:TikTok授权码auth_code有效期极短(通常5分钟内),如果从回调跳转完成到调用creator_token接口的间隔过长,授权码失效也可能引发类似错误。
  • 请求缺少时间戳或签名:部分TikTok API要求请求携带timestamp参数并附带签名,若你的请求未满足这个要求,接口会判定时间验证失败。

解决步骤

1. 同步服务器时间

先检查服务器当前时间是否与标准UTC时间一致:

# 查看当前服务器UTC时间
date -u

如果时间偏差较大,立即同步时间:

  • Ubuntu/Debian系统:
    sudo timedatectl set-ntp on
    
  • CentOS/RHEL系统:
    sudo ntpdate pool.ntp.org
    

确保服务器时间与标准时间偏差控制在1分钟以内。

2. 缩短auth_code处理延迟

检查回调函数中是否有不必要的耗时操作(如大量日志写入、复杂数据库查询等),尽量在获取auth_code后立即调用creator_token接口,避免授权码过期。

3. 补充时间戳与签名参数

TikTok部分API要求请求携带timestamp(秒级UTC时间戳)并生成签名。修改你的代码如下:

public function callback(Request $request)
{
    $accessTokenUrl = 'https://business-api.tiktok.com/open_api/v1.3/oauth2/creator_token/?business=tt_user';
    $timestamp = time();
    $params = [
        "client_id" => env('TIKTOK_CLIENT_ID'),
        "client_secret" => env('TIKTOK_CLIENT_SECRET'),
        "grant_type" => "authorization_code",
        "auth_code" => $request['auth_code'],
        "timestamp" => $timestamp
    ];

    // 按TikTok签名规则生成签名:参数按键名排序拼接,用client_secret做HMAC-SHA256加密
    ksort($params);
    $signStr = http_build_query($params);
    $signature = hash_hmac('sha256', $signStr, env('TIKTOK_CLIENT_SECRET'));

    $response = Http::withHeaders([
            'Content-Type' => 'application/json',
            'Signature' => $signature
        ])->post($accessTokenUrl, $params);

    if($response->successful()) {
        dump($response->headers());
        dd($response->json());
    } else {
        dump($response->headers());
        dd($response->json());
    }
}

注意:签名的具体位置(请求头或请求参数)可能因API版本不同而变化,请以TikTok官方文档为准。

内容的提问来源于stack exchange,提问作者Edvard Åkerberg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 07:43:13