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

使用Twilio REST API为子账户创建Push Notification凭证时遭遇HTTP 400错误:无法创建凭证记录,提示'Secret'必须存在

排查Twilio子账户创建Push Notification凭证的400错误

我来帮你分析下这个问题,你遇到的HTTP 400错误提示'Secret' must be present,核心原因是Twilio API没有识别到你传递的密钥参数,虽然你代码里写了secret,但这里大概率是参数名的匹配问题,下面是具体的排查和解决步骤:

  • 修正参数键名的大小写
    Twilio的Notify API创建FCM类型凭证时,要求的必填参数名是Secret(首字母大写),而你代码里用的是小写的secret。PHP关联数组的键名是大小写敏感的,这就导致SDK传递的参数和API期望的不匹配,所以API判定你没传Secret。把参数键改成首字母大写试试:

    $sub_account = new TwilioClient('ACxxxxxxxxxxxxxxxxxx6f4', '7exxxxxxxxxxxxxxxxxxxx');
    if( $sub_account) {
        $variable = $sub_account->notify->v1->credentials->create([
            "type" => 'fcm',
            "Secret" => 'AxxxxI:APA91bG-WY6p9jNuTtgX5SohRF4VviARCjz68FIxvpTIeYUexxxxxxxxx',
        ]);
        if( $variable) {
            echo $variable->sid;
        }
    }
    
  • 适配SDK版本的参数名
    如果上面的修改没用,检查下你的Twilio PHP SDK版本。部分新版本的SDK对参数名做了更明确的映射,FCM凭证的密钥参数需要用fcmSecret来传递,对应API的Secret字段。你可以试下这个写法:

    $variable = $sub_account->notify->v1->credentials->create([
        "type" => 'fcm',
        "fcmSecret" => 'AxxxxI:APA91bG-WY6p9jNuTtgX5SohRF4VviARCjz68FIxvpTIeYUexxxxxxxxx',
    ]);
    
  • 验证子账户权限(兜底排查)
    最后确认下你的子账户有没有创建Notify凭证的权限:登录Twilio控制台,进入子账户的权限设置页面,确保Notify服务的相关权限已经开启。不过根据错误提示,这个可能性比较小,但如果前面的方法都无效,可以排查这一点。

修改后重新测试代码,应该就能成功创建FCM凭证了。

内容的提问来源于stack exchange,提问作者syed mahroof

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 20:17:34