我正在使用以下代码向gcm服务器发出HTTP POST请求。但是,该代码总是返回“未经授权的错误401”。我阅读了一些关于head部分的资料,但仍然无法弄清楚问题所在。有人能告诉我错在哪里吗?是否有其他方法可以发送gcm消息?非常感谢您的帮助。
$api_key = "AIzaSyBhuPSdHmq6-************_qxSJr8d0";
$message = array("msg_url" => $msg_url, "msg_title" => $msg_title);
$url = 'https://android.googleapis.com/gcm/send';
$fields = array('registration_ids' => $ids,'data'=> array( "message" => $message ));
$headers = array('Authorization: key=' . $api_key,'Content-Type: application/json');
// use key 'http' even if you send the request to https://...
$options = array(
'http' => array(
'header'=> $headers ,
'method' => 'POST',
'content' => json_encode($fields),
),
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
var_dump($result);