Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android GCM未经PHP AppEngine授权_Android_Google App Engine_Google Cloud Messaging_Unauthorized - Fatal编程技术网

Android GCM未经PHP AppEngine授权

Android GCM未经PHP AppEngine授权,android,google-app-engine,google-cloud-messaging,unauthorized,Android,Google App Engine,Google Cloud Messaging,Unauthorized,我正在使用Appengine并使用一个测试脚本通过GCM发送消息,但它会导致错误 跟着我的剧本 $url = 'https://android.googleapis.com/gcm/send'; $serverApiKey = "AIzaSyCKPMazvtdyhqhH7IdIqdHjqUtLNlHnsgA"; // API KEY SERVER $reg = "APA91bEmal_3NpDSV5vuIysMjF8GYxO70_2Nmzx78VCSLmGpX_oX73TqfHczzjP_PgU

我正在使用Appengine并使用一个测试脚本通过GCM发送消息,但它会导致错误

跟着我的剧本

$url = 'https://android.googleapis.com/gcm/send';
$serverApiKey = "AIzaSyCKPMazvtdyhqhH7IdIqdHjqUtLNlHnsgA"; // API KEY SERVER
$reg = "APA91bEmal_3NpDSV5vuIysMjF8GYxO70_2Nmzx78VCSLmGpX_oX73TqfHczzjP_PgUmwYcdGz0yPGAajRLb1eP7wfzqtoADMzL1-DoCLYH9kz2dKknwcd7fZFSg_qM6Cgk_gphIRWD2FbcJZ83-ymnF1UhF40j32vYzD7WCDZnq_0-87R5Dbmk"; // registration id

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

$data = array(
'registration_ids' => array($reg),
'data' => array(
'message' => 'Hello, World!'
));

print (json_encode($data) . "\n\n");

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));

$response = curl_exec($ch);

curl_close($ch);

print ($response);
如果我在本地机器上做同样的测试,它会工作,但在appengine不工作

…似乎不起作用

{"registration_ids":["APA91bEmal_3NpDSV5vuIysMjF8GYxO70_2Nmzx78VCSLmGpX_oX73TqfHczzjP_PgUmwYcdGz0yPGAajRLb1eP7wfzqtoADMzL1-DoCLYH9kz2dKknwcd7fZFSg_qM6Cgk_gphIRWD2FbcJZ83-ymnF1UhF40j32vYzD7WCDZnq_0-87R5Dbmk"],"data":{"message":"Hello, World!"}}
Unauthorized
Error 401
遵循API设置

Key for server applications
API key
AIzaSyCKPMazvtdyhqhH7IdIqdHjqUtLNlHnsgA
IPs
Any IP allowed
Activation date
Mar 12, 2015, 2:40:00 AM
有人能帮我吗?

试试使用浏览器键。 服务器密钥从公共ip地址工作。
另外,您应该将您的IP地址列为白名单。

我不知道cURL不起作用的原因。我用另一种方法做了,它成功了

$regId = "myid";
    $message = "Hello World!";


    $registrationIds = array($regId); 
    $msg = array( 'message' => $message, 'title' => 'notification center', 'tickerText' => $message, 'vibrate' => 1, 'sound' => 1, );

    $fields = array(
        'registration_ids' => $registrationIds,
        'data' => $msg
    );
    $fields = json_encode($fields);
    $arrContextOptions=array(
        "http" => array(
            "method" => "POST",
            "header" =>
                'Authorization: key = MyApiKey'. "\r\n" .
                'Content-Type: application/json'. "\r\n",
            "content" => $fields,
        ),
        "ssl"=>array(
            "allow_self_signed"=>true,
            "verify_peer"=>false,
        ),
    );
    $arrContextOptions = stream_context_create($arrContextOptions);
    $result = file_get_contents('https://android.googleapis.com/gcm/send', false, $arrContextOptions);

    echo $result;

创建了浏览器API,但出现了相同的问题。。。这里是关键的浏览器API。。。。浏览器应用程序API密钥AIzaSyBDLrlKSotjkf0u46veF_Y8JfOx0nTZIVU引用任何引用允许的激活日期2015年3月12日上午4:58:00