[英]Parse Push Notifications with PHP
我使用Parse来提供iOS和Android App通知。 但我想从我的网站上做到这一点。
我在Parse的文档中找到了这个:
要发送推送通知,请将POST请求发送到https://api.parse.com/1/push ,并将Content-Type标头设置为application / json。 可以使用以下命令将简单警报发送到全局广播信道上的Android设备:
卷曲-X POST \\
-H“X-Parse-Application-Id:$ {APPLICATION_ID}”\\
-H“X-Parse-REST-API-Key:$ {REST_API_KEY}”\\
-H“内容类型:application / json”\\
-d'{“频道”:“”,\\
"type": "android", \\ "expiry": 1451606400, \\ "data": { "alert": "greetings programs" } }' \\
谁可以帮我制作一个PHP文件来发布这个? 谢谢!
将命令行curl转换为PHP,你会得到一些东西
<?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>
有了这个,你应该回答你未说明的问题。 如果你仍然无法弄清楚如何做到这一点,你应该认真考虑自己学习一些webdev或切换工作。 这是你能做的最基本的事情。
对我来说,看起来你必须以json格式做一个简单的HTTP请求。 你可以通过ajax或在php中使用curl扩展在javascript中完成。
'-H'可能是标题,-d代表json格式的数据。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.