带有PHP未授权错误的GCM 401

时间:2014-03-17 08:35:23

标签: php android

我正在使用GCM服务从服务器推送信息。 我尝试这样的一切。 http://javapapers.com/android/google-cloud-messaging-gcm-for-android-and-push-notifications/

我按顺序做了一切。

1 - 我启用了GCM服务 enter image description here

2 - 我获得了一个API密钥

  1. 点击创建新密钥
  2. 单击服务器密钥。 (我的IP不是静态IP,我使用我的服务器IP)
  3. 和我的PHP代码

    function sendPushNotificationToGCM($registatoin_ids, $message) {
        //Google cloud messaging GCM-API url
        $url        = 'https://android.googleapis.com/gcm/send';
        $fields     = array(
            'registration_ids' => $registatoin_ids,
            'data' => $message,
        );
        // Google Cloud Messaging GCM API Key
        define("GOOGLE_API_KEY", "my-api-key");
        $headers = array(
            'Authorization: key=' . GOOGLE_API_KEY,
            'Content-Type: application/json'
        );
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
        $result = curl_exec($ch);
        if ($result == FALSE) {
            die('Curl failed: ' . curl_error($ch));
        }
        curl_close($ch);
        return $result;
    }
    
    <html>
    <head>
        <title>Google Cloud Messaging (GCM) Server in PHP</title>
    </head>
    <body>
    <h1>Google Cloud Messaging (GCM) Server in PHP</h1>
    <form method="post" action="index.php/?push=1">
        <div>
            <textarea rows="2" name="message" cols="23" placeholder="Message to transmit via GCM"></textarea>
        </div>
        <div><input type="submit"  value="Send Push Notification via GCM" /></div>
    </form>
    <p><h3><?php echo $pushStatus; ?></h3></p>
    </body>
    </html>
    

    我收到未经授权的错误401。 请帮忙。 谢谢。

    我的英语很弱。 很抱歉。

0 个答案:

没有答案