2017-08-01 11 views
0

phpを使用してfirebaseのfcmサービスから通知を送信しようとしています。ここで私はこれまで得たものである。しかしFirebase FCMエラーJSON_PARSING_ERROR:予期せぬトークンが終了位置にあるファイル

$ch  = curl_init(); 
$payload = [ 
    'to' => '/topics/'.ANDROID_TOPIC, 
    'notification' => [ 
     'message' => 1 
    ] 
]; 
$headers = [ 
    'Content-Type: application/json', 
    'Content-length: '.sizeof(json_encode($payload)), 
    'Authorization: key='.FIREBASE_KEY 
]; 

curl_setopt($ch, CURLOPT_URL, 'https://fcm.googleapis.com/fcm/send'); 
curl_setopt($ch, CURLOPT_POST, true); 
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload)); 

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

return $result; 

、私はfirebaseからUnexpected token END OF FILE at position 2応答を取得しています。

これが起こった理由は何と思いますか?

答えて

3

削除のContent-Lengthライン:

$header = array(); 
$header[] = 'Content-type: application/json'; 
$header[] = 'Authorization: key=' . FIREBASE_KEY; 

$payload = [ 
    'to' => 'verybigpushtoken', 
    'notification' => [ 
    'title' => "Portugal VS Germany", 
    'body' => "1 to 2" 
    ] 
]; 

$crl = curl_init(); 
curl_setopt($crl, CURLOPT_HTTPHEADER, $header); 
curl_setopt($crl, CURLOPT_POST,true); 
    curl_setopt($crl, CURLOPT_URL, 'https://fcm.googleapis.com/fcm/send'); 
curl_setopt($crl, CURLOPT_POSTFIELDS, json_encode($payload)); 

curl_setopt($crl, CURLOPT_RETURNTRANSFER, true); 
// curl_setopt($crl, CURLOPT_SSL_VERIFYHOST, false); should be off on production 
// curl_setopt($crl, CURLOPT_SSL_VERIFYPEER, false); shoule be off on production 

$rest = curl_exec($crl); 
if ($rest === false) { 
    return curl_error($crl) 
} 
curl_close($crl); 
return $rest; 
関連する問題