我目前正在尝试为我的Android应用程序使用云消息传递。服务器使用php-curl
通过PHP发送消息。
问题是服务器的响应始终是:
401:未经授权
我使用Firebase控制台中的WebAPI Access密钥作为我的应用程序,因此这绝对是正确的。下面是我用来发送数据的代码:
<?php
$fields = array(
'to' => "<MY-RECIPIENT-TOKEN>",
'notification' => array(
'body' => 'Test message :)',
'title' => 'Test',
'icon' => 'myicon',
'sound' => 'mySound'
)
);
$headers = array(
'Authorization:key=<MY AUTH KEY IS HERE>',
'Content-Type:application/json'
);
$ch = curl_init();
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($fields));
$result = curl_exec($ch);
curl_close($ch);
echo $result;
从应用收到MY-RECIPIENT-TOKEN
,MY AUTH KEY IS HERE
是Firebase控制台的密钥。
我在这里缺少什么?
答案 0 :(得分:0)
没关系。问题不在代码中,代码很好。如果有人偶然发现:FCM控制台中有2个键。当您转到项目设置时,您将找到Web-API-Key。这是不您正在寻找的钥匙!你需要去设置 - &gt;云消息传递。在那里,您将看到更长的服务器密钥。 这个是您想要使用的密钥!