Ich versuche, Push-Benachrichtigung auf Android Phone App von PHPDer Antrag fehlte ein Authentification Key (FCM Token)
$headers = array("Authorization"=>"key=xxxxxxxxxxxxxxxxxxx");
$data = array("to"=>"/topics/global", array ("message"=>"This is notification"));
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://gcm-http.googleapis.com/gcm/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($data,JSON_UNESCAPED_SLASHES));
curl_exec($ch);
curl_close($ch);
ich Google Cloud Messaging zu senden, aber in Browser Ich sehe Fehler:
Der Anfrage fehlte ein Authentifizierungsschlüssel (FCM Token). Bitte beachten Sie den Abschnitt "Authentifizierung" der FCM-Dokumentation unter .
using System;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json.Linq;
namespace MessageSender
{
class MessageSender
{
public const string API_KEY = "xxxxxxxx";
public const string MESSAGE = "This is notification";
static void Main(string[] args)
{
var jGcmData = new JObject();
var jData = new JObject();
jData.Add("message", MESSAGE);
jGcmData.Add("to", "/topics/global");
jGcmData.Add("data", jData);
var url = new Uri("https://gcm-http.googleapis.com/gcm/send");
try
{
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Accept.Add(
new MediaTypeWithQualityHeaderValue("appslication/json"));
client.DefaultRequestHeaders.TryAddWithoutValidation(
"Authorization", "key= " + API_KEY);
Task.WaitAll(client.PostAsync(url,
new StringContent(jGcmData.ToString(), Encoding.Default, "application/json"))
.ContinueWith(response =>
{
Console.WriteLine(response);
Console.WriteLine("Message sent: check the client device notification tray.");
}));
}
}
catch (Exception e)
{
Console.WriteLine("Unable to send GCM message:");
Console.Error.WriteLine(e.StackTrace);
}
Console.ReadLine();
}
}
}
Und Frage: Fehler 401
Außerdem kann ich Push-Benachrichtigung von C# -Konsolenanwendung und erhalten es auf meinem Handy (und ich denke, dass Authentifizierungsschlüssel ist rechts) senden Wie Push senden Benachrichtigung von PHP (GCM verwenden) korrekt? Was ist falsch an meinem Code?
Hallo. Können Sie die generierte Nutzlast in Ihrem PHP-Skript posten, bevor sie gesendet wird? –
Hallo. code: '$ data = array ("zu" => "/ topics/global", "daten" => array ("nachricht" => "Das ist eine benachrichtigung")); echo json_encode ($ data, JSON_UNESCAPED_SLASHES); ' im Browser: {"zu": "/ topics/global", "Daten": {"message": "Dies ist eine Benachrichtigung"}} –
Hmmm. Können Sie versuchen, die Anfrage mit [Postman] (http://stackoverflow.com/documentation/firebase-cloud-messaging/8242/firebase-cloud-messaging/26577/sending-downstream-messages-using-postman#t=201703010932122186642) oder nur eine einfache [cURL Anfrage] (http://stackoverflow.com/documentation/firebase-cloud-messaging/8242/firebase-cloud-messaging/26480/sending-downstream-messages-via-curl#t=201703010932129373534) ? Sehen Sie, ob es die gleiche Antwort ist? –