搜索有关如何使用GCM但使用PHP而不是servlet发送通知的一些信息,我发现了这个:带有PHP的GCM(谷歌云消息传递)
我测试了这些问题的响应的工作代码,还为浏览器应用程序(带有引用者)创建了一个密钥,并且我授予此ip的权限:.mywebsite.com/(te php文件位于此URL上:“http://www.mywebsite.com/~jma/cHtml5/cap/kk.php”)
但我收到了这个回复:未经授权的错误401。
我做错了什么?
这是php文件:
<?php
// Replace with real server API key from Google APIs
$apiKey = "fictional key";
// Replace with real client registration IDs
$registrationIDs = array( "APA91asdasdSDGGS232S13S4213abGqiNhCIXKjlxrkUYe_xTgTacNGB5n16b380XDd8i_9HpKGRHkvm8DDet4_WK3zumjDEKkTRWLgPS7kO-BrKzWz7eWFQaDD9PJ8zA6hlSqL9_zH21P8K22ktGKmo_VIF6YAdU9ejJovrKBTpgQktYkBZBf9Zw","APAasdasd32423dADFG91bHYYxYB7bFiX5ltbJt6A-4MBiNg7l4RS4Bqf3jIfYviaaUfZ810XJo2o66DY9-jdeJk_JR8FIZCyrmCv-eu_WLkGZ8KaoHgEDR_16H2QPm98uHpe1MjKVXbzYc4J89WMmcIrl5tHhWQnIQNzaI6Zp6yyFUNUQ");
// Message to be sent
$message = "Test Notificación PHP";
// Set POST variables
$url = 'https://android.googleapis.com/gcm/send';
$fields = array(
'registration_ids' => $registrationIDs,
'data' => array( "message" => $message ),
);
$headers = array(
'Authorization: key=' . $apiKey,
'Content-Type: application/json'
);
// Open connection
$ch = curl_init();
// Set the url, number of POST vars, POST data
curl_setopt( $ch, CURLOPT_URL, $url );
curl_setopt( $ch, CURLOPT_POST, true );
curl_setopt( $ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
//curl_setopt( $ch, CURLOPT_POSTFIELDS, json_encode( $fields ) );
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
//curl_setopt($ch, CURLOPT_POST, true);
//curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode( $fields ));
// Execute post
$result = curl_exec($ch);
// Close connection
curl_close($ch);
echo $result;
//print_r($result);
//var_dump($result);
?>
您需要在您的服务器端编码中的API密钥字段中使用服务器应用程序的密钥。创建服务器密钥时,不要在IP地址字段中输入任何内容。
解决了!!!
您必须为服务器应用程序使用密钥(带IP锁定),而不是浏览器密钥
:)
为什么我在Maven中会出现“401未授权”错误? 以下是调用(底部为完整日志)时出现的错误: 根据这个sonatype支持页面: “如果您收到401,那是因为maven发送了错误的登录凭据,或者根本没有凭据。” 下面是我采取的步骤,下面是我完整的和文件,下面是和的完整日志。 我使用中的用户/pass成功地登录和退出了sonatype.org网站。 我尝试使用手动部署工件,使用命令 但出现了以下错
我是新的PHP和试图建立一个网站与注册表格。用户应该收到一封带有确认链接的电子邮件(因为我有一个免费的托管服务器,我正在尝试使用gmail服务器)。问题是,我正在努力与电子邮件PHP代码。我尝试使用PHPMailer函数如下: 我尝试了587和465端口。还尝试了ssl和tls。每次尝试运行代码时,都会出现以下错误: 服务器- 还有,我收到一封来自Gmail的邮件,主题是“有人知道你的密码”。我打
我正在尝试使用在Internet上找到的php脚本向iOS应用程序发送通知。我应该为$passphrase赋予什么价值,在哪里可以找到它?以下各项的值也相同: stream_context_set_选项($ctx,'ssl','local_cert','ck.pem')
我正在rails 5中编写一个Api Rest,使用gem'fcm'发送通知。我已经在android应用程序中配置了firebase,我可以从firebase控制台成功发送通知,但从rails api我无法在设备中接收通知,这是我的代码: 这是我的rails控制器: 我从邮递员执行这是执行控制器的路线: http://localhost:3000/acciones/enviar?here 将设备令
我的前端基于Angular 4,后端基于Spring Security的Spring Boot。我正在一个WAR文件中部署所有内容。 我在/src/main/resources中创建了一个静态/登陆文件夹,然后我将生成角度文件的网页包放在该文件夹中。 Angular负责登录过程,因此我在Spring Security中创建了以下规则: 不幸的是,当我尝试使用网络浏览器访问 /login页面进行登录
我需要向多个设备发送GCM通知。在这里,我制作了PHP代码以从MySql获取注册ID数组,并尝试向多个设备发送通知,但这里有一些问题。 我的PHP代码: