php推送通知为android给出xml错误

时间:2016-06-04 14:52:02

标签: php android push-notification

我正在尝试将推送通知从php发送给Android用户。使用以下代码

<?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;
?>

但得到以下回复

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

我做了一些R&amp; D,但每个人都在json中遇到错误,但我得到的是xml格式。我用邮差为此。我也通过点击这个脚本的url直接从浏览器检查,但仍然返回相同的错误。

Unauthorized

Error 401

我检查了我的本地系统和服务器,但是同样的错误。

1 个答案:

答案 0 :(得分:0)

首先检查你的卷曲中是否遗漏了这一行

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);

并检查你的api密钥是否有效..你的功能希望能正常工作。