来自VK网站的消息-简单有效-PHP + CUrl

将邮件传递到VK可以方便大多数方向不同的站点:许多人不阅读电子邮件,而诸如Votsap和Viber之类的即时通讯工具则使一切变得复杂。 VK网站上的时事通讯和个人通知-最简单,最容易并且对用户立即可见。

对于我的新公告通知服务,我需要快速免费地将新公告通知发送给用户。 基本渠道-电子邮件-不方便。 另一个好的频道-电报通讯程序-决定争取隐私,因此变得不可靠。 因此,我不得不以VK的形式添加替代方法(特别是因为该服务仍然知道如何跟踪VK中的组以显示新条目和注释)。 我对设置的简单性和周到性感到惊讶,即使电报不在附近。

1.连接小部件“允许写信给社区”

小部件看起来像一个按钮。 我已将按钮嵌入到服务的用户帐户的设置中。

图片

在文本中,您需要将74449217替换为组的ID。 还请考虑将收到的userId VKontakte保存在何处。 在下面的代码中,将其分配给vk_id字段,然后将其与其他设置一起保存。

<script type='text/javascript' src='https://vk.com/js/api/openapi.js?154'></script> <div id='vk_send_message'></div> <script type='text/javascript'> VK.Widgets.AllowMessagesFromCommunity('vk_send_message', {height: 30},74449217); VK.Observer.subscribe('widgets.allowMessagesFromCommunity.allowed', function f(userId) { console.log(userId); console.log('allowed'); document.getElementById('vk_id').value=userId; }); VK.Observer.subscribe('widgets.allowMessagesFromCommunity.denied', function f(userId) { console.log(userId); console.log('denied'); document.getElementById('vk_id').value=''; }); </script> 

小部件文档

我们已经获得用户的许可,现在我们将组织发送消息。

2.发送信息

在您的社区设置中,启用社区消息。

图片

我们产生了我们社区的象征。

图片

总的来说,一切就绪。 要发送消息,请使用PHP + CUrl。 在send函数中,作为输入参数,我们传输先前接收的VK用户ID和消息文本。 该函数还使用社区令牌vk_token常量。

 //   vk function send_vk($vk_id, $text_source) { $url="https://api.vk.com/method/messages.send?user_id=$vk_id&v=5.76&access_token=".vk_token; $text=rawurlencode($text_source); $ch = curl_init($url); curl_setopt($ch, CURLOPT_TIMEOUT, 10); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,false); curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false); curl_setopt($ch, CURLOPT_URL,$url); curl_setopt($ch, CURLOPT_POSTFIELDS, "&message=".$text); $hh=curl_exec($ch); //    if (!strpos(" ".$hh,'{"response":')) { //    ,   if (!strpos(" ".$hh,'error')) {$hh=curl_exec($ch);} } $html=$hh; curl_close($ch); return $html; } 

在研究可能性和材料的同时,我花了一天的时间来组织向VC发送通知-我认为这是与用户交流的最简单的选择之一。

Source: https://habr.com/ru/post/zh-CN416001/


All Articles