Javascript 在php中发送推送通知时如何获取注册ID
所以基本上。。。这里有两个文件,一个是PHP脚本,另一个是angular1 js文件 在js文件中,当管理员用户单击“发送通知”时,会触发一个事件,以便通过函数调用curl发送消息 这个函数看起来像这样Javascript 在php中发送推送通知时如何获取注册ID,javascript,php,angularjs,ajax,curl,Javascript,Php,Angularjs,Ajax,Curl,所以基本上。。。这里有两个文件,一个是PHP脚本,另一个是angular1 js文件 在js文件中,当管理员用户单击“发送通知”时,会触发一个事件,以便通过函数调用curl发送消息 这个函数看起来像这样 $scope.notify = function(title, content, ¿¿ userId ??){ $.ajax({ url: 'app/backend/src/curl-service.php', type: 'POST',
$scope.notify = function(title, content, ¿¿ userId ??){
$.ajax({
url: 'app/backend/src/curl-service.php',
type: 'POST',
data: {
userId: 'the problem is here',
title: title,
message: content
},
success: function(data) {
console.log('time to use curl service');
},
error: function(){
console.log('Error! you can't use curl service');
}
});
};
如您所见,我使用ajax传递了一些数据,以填充通知的内容,该内容将由curl-service.php文件推送
<?php
// Incluimos el api asignada al app
define('API_ACCESS_KEY', 'AIzaSyAJvT_Tx7vwZzViWkwUcQHdhx2osTiSXHA');
$registrationIds = array($_POST['userId']);
$title = array($_POST['title']);
$message = array($_POST['message']);
// preparamos los array
$msg = array
(
'title' => $title,
'message' => $message,
'sound' => default,
);
$fields = array
(
'registration_ids' => $registrationIds,
'data' => $msg
);
$headers = array
(
'Content-Type: application/json',
'Authorization: key=' . API_ACCESS_KEY
);
//iniciamos el servicio conectando con la url
$ch = curl_init();
curl_setopt( $ch,CURLOPT_URL, 'https://fcm.googleapis.com/fcm/send');
curl_setopt( $ch,CURLOPT_POST, true );
curl_setopt( $ch,CURLOPT_HTTPHEADER, $headers );
curl_setopt( $ch,CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch,CURLOPT_SSL_VERIFYPEER, false );
curl_setopt( $ch,CURLOPT_POSTFIELDS, json_encode( $fields ) );
$result = curl_exec($ch);
curl_close($ch);
echo $result;
//ejecutamos el servicio
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
//verificamos posibles errores y se genera la respuesta
if ($err) {
echo "Se ha producido el siguiente error:" . $err;
} else {
echo $response;
}
?>
我实际上需要知道的是,我如何获得注册ID,然后我也可以在我的php文件中使用它
$registrationIds = array($_POST['userId']);
$title = array($_POST['title']);
$message = array($_POST['message']);
// preparamos los array
$msg = array
(
'title' => $title,
'message' => $message,
'sound' => default,
);
$fields = array
(
'registration_ids' => $registrationIds,
'data' => $msg
)
如果将第一位更改为:
$registrationIds = $_POST['userId'];
$title = $_POST['title'];
$message = $_POST['message'];
或者更好地考虑到安全性:
$registrationIds = filter_input(INPUT_POST, 'userId', FILTER_SANITIZE_STRING);
$title = filter_input(INPUT_POST, 'title', FILTER_SANITIZE_STRING);
$message = filter_input(INPUT_POST, 'message', FILTER_SANITIZE_STRING);
你应该很乐意去你专门使用AJAX发布到你的PHP脚本,但是你在PHPups中使用了$\u GET数组,这完全是我的责任,谢谢你,所以。。。你知道我如何获得这些注册id吗?我是说我能从数据库里得到它们吗?从一个设备?这就是我不太清楚的地方,你的问题是,你没有从客户端到服务器获取用户ID?是的,实际上不知道如何获取,所以我可以用它做我需要的任何事情考虑到我甚至还没有使用脚本,真正的问题是我不知道如何在任何事情之前获取注册ID,fcm要求它正常工作。我在标题中说了,也许我在内容中没有解释清楚