Nachrichten von einer Site in VK - einfach und effektiv - PHP + CUrl

Die Nachrichtenübermittlung an VK ist für die meisten Websites mit unterschiedlichen Richtungen praktisch: Viele Leute lesen keine E-Mails, bei Instant Messenger wie Votsap und Viber ist alles kompliziert. Und der Newsletter und die persönlichen Benachrichtigungen von der Website in VK - die einfachsten, einfachsten und für den Benutzer sofort sichtbaren.

Für meinen Service für Benachrichtigungen über neue Ankündigungen muss ich Benutzern schnell und kostenlos Benachrichtigungen über neue Ankündigungen übermitteln. Der Basiskanal - E-Mail - ist nicht bequem. Ein anderer guter Kanal - der Telegramm-Messenger - entschied sich für die Privatsphäre zu kämpfen und wurde nicht mehr zuverlässig. Daher musste ich eine Alternative in Form von VK hinzufügen (zumal der Dienst immer noch weiß, wie Gruppen in VK für das Erscheinen neuer Einträge und Kommentare verfolgt werden). Ich war angenehm überrascht von der Einfachheit und Nachdenklichkeit der Einstellungen, selbst das Telegramm war nicht in der Nähe.

1. Verbinden Sie das Widget "Erlaube das Schreiben an die Community".

Das Widget sieht aus wie eine Schaltfläche. Ich habe die Schaltfläche in die Einstellungen des Benutzerkontos des Dienstes eingebettet.

Bild

Im Text müssen Sie 74449217 durch die ID Ihrer Gruppe ersetzen. Überlegen Sie auch, wo die empfangene Benutzer-ID VKontakte gespeichert wird. Im folgenden Code wird es dem Feld vk_id zugewiesen und dann zusammen mit anderen Einstellungen gespeichert.

<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> 

Widget-Dokumentation .

Wir haben die Erlaubnis des Benutzers erhalten, jetzt organisieren wir das Senden von Nachrichten.

2. Senden von Nachrichten

Aktivieren Sie in Ihren Community-Einstellungen Community-Nachrichten.

Bild

Wir generieren ein Zeichen unserer Community.

Bild

Im Allgemeinen ist alles fertig. Verwenden Sie PHP + CUrl, um eine Nachricht zu senden. In der Sendefunktion übertragen wir als Eingabeparameter die zuvor empfangene VK-Benutzer-ID und den Nachrichtentext. Die Funktion verwendet auch die Konstanten vk_token, das Community-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; } 

Neben dem Studium der Möglichkeiten und des Materials habe ich einen Tag damit verbracht, das Senden von Benachrichtigungen an VC zu organisieren. Ich denke, dies ist eine der einfachsten Optionen für die Kommunikation mit dem Benutzer.

Source: https://habr.com/ru/post/de416001/


All Articles