2016-06-04 11 views
0

Ich versuche, die Push-Benachrichtigung von PHP an Android-Nutzer zu senden. Mit folgenden Codephp Push-Benachrichtigung für Android geben xml Fehler

<?php 
// API access key from Google API's Console 
     define('API_ACCESS_KEY', 'access_key'); 
     $registrationIds = array("reg_id"); 
     // prep the bundle 
     $msg = array 
     (
      'message' => 'here is a message. message', 
      'title'  => 'This is a title. title', 
      'subtitle' => 'This is a subtitle. subtitle', 
      'tickerText' => 'Ticker text here...Ticker text here...Ticker text here', 
      'vibrate' => 1, 
      'sound'  => 1, 
      'largeIcon' => 'large_icon', 
      'smallIcon' => 'small_icon' 
     ); 
     $fields = array 
     (
      'registration_ids' => $registrationIds, 
      'data'   => $msg 
     ); 

     $headers = array 
     (
      'Authorization: key=' . API_ACCESS_KEY, 
      'Content-Type: application/json' 
     ); 

     $ch = curl_init(); 
     curl_setopt($ch,CURLOPT_URL, 'https://android.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($fields)); 
     $result = curl_exec($ch); 
     curl_close($ch); 
     echo $result; 
?> 

Aber immer folgende Antwort

<HTML> 
    <HEAD> 
     <TITLE>Unauthorized</TITLE> 
    </HEAD> 
    <BODY BGCOLOR="#FFFFFF" TEXT="#000000"> 
     <H1>Unauthorized</H1> 
     <H2>Error 401</H2> 
    </BODY> 
</HTML> 

ich einige R hat & D, aber jeder bekommen Fehler in json, aber ich bin im XML-Format zu bekommen. Ich habe einen Postboten dafür benutzt. Ich habe auch direkt aus dem Browser überprüft, indem ich die URL für dieses Skript angeklickt habe, aber immer noch denselben Fehler zurückgegeben habe.

Unauthorized 

Error 401 

Ich überprüft auf meinem lokalen System und auf dem Server beide, aber der gleiche Fehler.

+1

Haben Sie den richtigen Schlüssel verwendet? Ich habe den gleichen Code verwendet. Es funktioniert also sicher. – driftking9987

+0

@ driftking9987, Android Jungs sagt, dass sie richtigen Schlüssel gegeben haben. Gibt es eine Möglichkeit zu überprüfen, ob der Schlüssel korrekt ist? –

+1

Ich habe gerade nach dem Löschen eines Zeichens aus dem Schlüssel überprüft, ich habe auch den gleichen nicht autorisierten 401 Fehler. Ich sage, der Schlüssel ist falsch. Bitten Sie sie, es erneut zu prüfen. – driftking9987

Antwort

0

Zuerst prüfen Sie diese Zeile in Ihrer curl verpasst haben

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); 

und überprüfen Sie Ihre api Schlüssel gültig ist oder nicht .. Ihre Funktion hoffentlich gut funktionieren wird.

+1

@Purushottam Zende Wenn Sie überprüfen möchten, ob der API-Schlüssel korrekt ist oder nicht, können Sie Ihren eigenen API-Schlüssel zum Testen erstellen, indem Sie [link] (https://console.developers.google.com/) ein Projekt erstellen und dann erstellen ein API-Schlüssel für gcm und es in Ihren Code einfügen, wenn es funktioniert, dann war Ihr erster API-Schlüssel nicht gültig. –