Parse Push Notifications with PHP Parse Push Notifications with PHP curl curl

Parse Push Notifications with PHP


Translating your command line curl to PHP you get something along the lines of

<?php$url = 'https://api.parse.com/1/push';$data = array(    'channel' => '',    'type' => 'android',    'expiry' => 1451606400,    'data' => array(        'alert' => 'greetings programs',    ),);$_data = json_encode($data);$headers = array(    'X-Parse-Application-Id: ' . $APPLICATION_ID,    'X-Parse-REST-API-Key: ' . $REST_API_KEY,    'Content-Type: application/json',    'Content-Length: ' . strlen($_data),);$curl = curl_init($url);curl_setopt($curl, CURLOPT_POST, 1);curl_setopt($curl, CURLOPT_POSTFIELDS, $_data);curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);curl_exec($curl);

UPDATE

<?php$APPLICATION_ID = "your-app-id";$REST_API_KEY = "your-api-key";$MESSAGE = "your-alert-message";if (!empty($_POST)) {    $errors = array();    foreach (array('app' => 'APPLICATION_ID', 'api' => 'REST_API_KEY', 'body' => 'MESSAGE') as $key => $var) {        if (empty($_POST[$key])) {            $errors[$var] = true;        } else {            $$var = $_POST[$key];        }    }    if (!$errors) {        $url = 'https://api.parse.com/1/push';        $data = array(            'channel' => '',            'type' => 'android',            'expiry' => 1451606400,            'data' => array(                'alert' => $MESSAGE,            ),        );        $_data = json_encode($data);        $headers = array(            'X-Parse-Application-Id: ' . $APPLICATION_ID,            'X-Parse-REST-API-Key: ' . $REST_API_KEY,            'Content-Type: application/json',            'Content-Length: ' . strlen($_data),        );        $curl = curl_init($url);        curl_setopt($curl, CURLOPT_POST, 1);        curl_setopt($curl, CURLOPT_POSTFIELDS, $_data);        curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);        $response = curl_exec($curl);    }}?><!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de"><head>    <meta charset="utf-8" />    <meta http-equiv="content-type" content="text/html; charset=utf-8" />    <title>Parse API</title></head><body>    <?php if (isset($response)) {        echo '<h2>Response from Parse API</h2>';        echo '<pre>' . htmlspecialchars($response) . '</pre>';        echo '<hr>';    } elseif ($_POST) {        echo '<h2>Error!</h2>';        echo '<pre>';        var_dump($APPLICATION_ID, $REST_API_KEY, $MESSAGE);        echo '</pre>';    } ?>    <h2>Send Message to Parse API</h2>    <form id="parse" action="" method="post" accept-encoding="UTF-8">        <p>            <label for="app">APPLICATION_ID</label>            <input type="text" name="app" id="app" value="<?php echo htmlspecialchars($APPLICATION_ID); ?>">        </p>        <p>            <label for="api">REST_API_KEY</label>            <input type="text" name="api" id="api" value="<?php echo htmlspecialchars($REST_API_KEY); ?>">        </p>        <p>            <label for="api">REST_API_KEY</label>            <textarea name="body" id="body"><?php echo htmlspecialchars($REST_API_KEY); ?></textarea>        </p>        <p>            <input type="submit" value="send">        </p>    </form></body></html>

With this, your unstated question should be answered. If you still can't figure out how to do this, you should seriously consider learning yourself some webdev or switch jobs. This is the most basic thing you can do.


For me it look like you have to do a simple HTTP request in json format. You may do it in javascript via ajax or by using curl extension in php.

'-H' is probably header, -d stands for data in json format.