Intereting Posts
.htaccess не перенаправлять на страницу с ошибкой Codeigniter: разрешение загруженных изображений – 600 на веб-сервере, изображения не отображаются на веб-сайте CodeIgniter + jQuery UI autocomplete = 500 внутренних ошибок сервера (с кодом) передача данных с крюка для просмотра в кодеригнере Замените новые строки, но сохраняйте пустые строки Плагин загрузки файлов, расположенный в webroot, игнорирует динамические изменения в целевой папке PHP: объединить два массива, сохраняя ключи вместо переиндексации? Получить начальную и конечную временную метку unix для данного месяца и года в php Загрузка больших файлов через php-функцию readfile не работает Не удается подключиться к базе данных (000webhost) Drupal и регулярная интеграция с PHP PHP Неустранимая ошибка: нельзя повторно назначить $ this MYSQL SELECT записи старше 1 года назад CodeIgniter 3.0.3 ci_session не сохраняет данные сеанса в таблице ci_sesstion Как предотвратить инъекцию mysql при использовании предложения mysql IN без activeRecord в Yii?

Передача GCM с curl (php)

Я пытаюсь отправить сообщение на телефон Android, но продолжаю получать код ответа 401 с текстом: «Неавторизованный». Также я читаю разные истории о том, какой ключ использовать, я знаю 3 ключа: идентификатор проекта (номер), ключ для серверных приложений и ключ для приложений браузера. Поэтому я попробовал их все 3, все с одинаковым результатом.

Мой код:

$headers = array("Content-Type" => "application/json", "Authorization" => "key=" . "mykey"); $data = array( 'data' => $messageText, 'registration_ids' => array($deviceRegistrationId) ); $ch = curl_init(); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_URL, "https://android.googleapis.com/gcm/send"); curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data)); error_log(json_encode($data)); $response = curl_exec($ch); curl_close($ch); error_log($response); 

Я изменил заголовок на:

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

И это работает. Mykey – это ключ для приложений браузера.

Вы могли бы сделать свои заголовки, как это, просто чтобы было легче читать и устранять конкатенацию:

 $headers = array( "Authorization:key=mykey", "Content-Type:application/json", );