调用google fcm HTTP v1接口给安卓设备群发推送收到411错误

调用google fcm HTTP v1接口给安卓设备群发推送收到411, http header不带content-length错误,但是我在curl里指定了content-length了呀。

    $topic = 'topic';
    $projectId = 'projectid';
    $title = 'hahaha';
    $content = 'lol';

    $payload = array(
        'message' => array(
            'topic' => $topic,
            'notification' => array(
                'title' => $title,
                'body' => $content,
            )
        )
    );

    $json = json_encode(trim($payload));
    $headers = array(
        'Authorization:Bearer '.$this->getFcmApiAccessToken(),
        'Content-Type: application/json; UTF-8',
        'Content-length:'.strlen($json),//'Content-length:0'
    );

    $ch = curl_init();
        
  
  
 curl_setopt($ch,CURLOPT_URL,"https://fcm.googleapis.com/v1/projects/{$projectId}/messages:send");
    curl_setopt($ch,CURLOPT_POST, true );
    curl_setopt($ch,CURLOPT_HEADER, 1);
    curl_setopt($ch,CURLOPT_HTTPHEADER,$headers);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch,CURLOPT_SSL_VERIFYHOST, false);
    curl_setopt($ch,CURLOPT_POSTFIELDS, $json);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1);

    $result = curl_exec($ch);
    curl_close($ch);

    var_dump($result);exit;
阅读 4k
1 个回答
新手上路,请多包涵

$this->getFcmApiAccessToken(),可以看你这里怎么获取token的吗?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题