我正在开发一个web应用程序(使用GAE for PHP),当一些内容可供下载时,它会通知android客户端(通过GCM-谷歌云消息)。
以下PHP脚本应该完成任务:
$json = array(
'data' => array( ... ),
'registration_ids' => array( ... )
);
$data = json_encode( $json );
$context = array(
'http' => array(
'method' => 'post',
'header' => 'Authorization: key=MY_SECRET_KEY' . "rn" .
'Content-Type: application/json' . "rn",
'content' => $data
)
);
$context = @stream_context_create($context);
$result = @file_get_contents("https://android.googleapis.com/gcm/send", false, $context);
上面的代码在部署应用程序时会正确运行,但在我的本地开发环境中运行时不会正确运行。
在本地开发环境中,$result
是null
,file_get_contents
"回显"以下警告failed to open stream: HTTP request failed! HTTP/1.0 405 Method Not Allowed
。
我终于弄清楚发生了什么。
CCD_ 5与CCD_。
相信我,简单地将其更改为'method' => 'POST'
(注意大写!)就成功了。