Comment connaître l'identifiant API de VKontakte. Nous obtenons l'identifiant api des réseaux sociaux VKontakte et Facebook. Travailler avec la bibliothèque

Avez-vous une communauté VKontakte ? Arrive-t-il que quelqu'un ait écrit un commentaire négatif, insulté quelqu'un ou simplement écrit un avis sur votre entreprise ou une question à laquelle il faut répondre rapidement ? Chez PushAll, nous avons écrit un microservice qui vous permet de recevoir des notifications sur divers événements dans vos communautés. Le fait est que VKontakte a récemment lancé API de rappel pour les communautés, et nous avons décidé de l'utiliser en le transférant de l'API vers un format de notification push.

Comment l'utiliser ?


Il vous suffit de vous abonner au canal microservice et de suivre les instructions

Vous saisissez l'adresse du microservice dans section spéciale dans les paramètres de votre groupe et dans les paramètres du microservice, vous écrivez le code dont VKontakte a besoin pour la vérification. Vous devez également transmettre l'autorisation via OAuth VK afin que le microservice puisse recevoir des données sur les utilisateurs - avatars et noms.

Après cela, vous recevrez toutes les notifications que vous spécifiez dans la section « Types d'événements ».

Cependant, vous devez comprendre que tous les types d’événements ne sont pas pris en charge :

  • Messages
  • Commentaires
  • Messages
  • Déconnexion/Connexion à la communauté
  • Discussions
Ces types sont accompagnés de l'avatar et du nom d'utilisateur de l'utilisateur qui a initié l'événement, du titre de l'événement et de l'événement lui-même.

Autres types, sur à l'heure actuelle se présentent sous la forme de « Notification non prise en charge » et transmettent tous les JSON envoyés par VKontakte. Ils seront terminés d’ici une semaine.

D'où viennent les notifications ?

Pour ceux qui ne savent pas où PushAll envoie les notifications :
  • Application Android
  • Module complémentaire Chrome avec historique
  • Web push dans Chrome (Android+PC), navigateur Yandex, Vivaldi, Firefox, Safari
  • Bot de télégramme
  • E-mail
  • iOS (bêta)
La portée des appareils et de la connectivité continuera d’augmenter.

Sécurité

VKontakte a adopté une approche approfondie de la sécurité : le script reçoit uniquement les données que vous spécifiez et il n'y a aucun contrôle d'accès. Fournir l'accès à l'API, qui est nécessaire pour les avatars et les noms d'utilisateur, ne demande qu'une autorisation hors ligne et ne demande même pas l'e-mail de l'utilisateur.

Restrictions

Le microservice est entièrement gratuit. Vous pouvez connecter plusieurs communautés si vous leur spécifiez la même adresse de microservice, en modifiant à chaque fois les paramètres du microservice le code de vérification. Autrement dit, vous pouvez connecter un nombre illimité de groupes pour recevoir des notifications.

Dans le même temps, il n'y a désormais plus de filtrage - c'est-à-dire que tout ce que vous indiquez dans VK vous parviendra sous forme de notifications push. À l’avenir, on l’appellera :

  • Rendre cela possible Transferts JSON un autre script, c'est-à-dire que vous pouvez utiliser AdminVK comme proxy, recevoir des notifications et transmettre la demande à votre script de collecte d'analyses ou ailleurs
  • Permet de spécifier des ID d'utilisateur de confiance et des ID d'utilisateur qui doivent recevoir des notifications. Ceux. vous pourrez partager, en tant qu'administrateur, vos notifications push à vos modérateurs
  • Filtrer par mots. Par exemple, vous ne recevez pas toutes les notifications push, mais uniquement celles qui contiennent les noms de certaines marques - d'une part, mentionner une marque n'est pas un motif d'interdiction, mais cela dépend du contexte.
  • Répartition des notifications entre modérateurs, c'est-à-dire sur la base du deuxième point, il sera possible de répartir uniformément notifications entrantes pour réduire le fardeau des gens

Pourquoi avons-nous besoin de cela ?

Il s’agit essentiellement d’une « preuve de concept », c’est-à-dire que ce microservice a été créé pour montrer comment les capacités de PushAll peuvent être utilisées pour de petits services liés aux notifications. Par exemple, il m'a fallu environ 1 heure pour écrire l'intégralité du microservice afin d'être prêt à fonctionner sous la forme de la première alpha, tout en utilisant essentiellement l'API PushAll standard et n'importe qui peut également écrire son propre microservice qui peut envoyer des notifications aux utilisateurs sur divers événements sur de nombreuses plateformes.

Ce n’est que le premier microservice parmi tant d’autres que nous réaliserons plus tard.

Services de suivi des événements dans votre communauté VK

Services qui fonctionnent via l'API de rappel de VK et ont des fonctionnalités à peu près similaires : suivi des commentaires, messages dans le DM de la communauté, publications sur le mur de la communauté, etc.

1. Rappel Bot API https://vk.com/cbbot. Je l'utilise depuis environ six mois. Le bot est stable et a la capacité de connecter des managers. L’inconvénient c’est que toutes les notifications finissent dans le même MP, s’il y a beaucoup de communautés, c’est un dépotoir.

2. Modérateur - https://vk.com/app5474492. L'application trie facilement tous les événements par type, il existe des paramètres différents types notifications sur les événements, possibilité de connecter les managers. En termes de fonctionnalités, c'est la meilleure application disponible. L’inconvénient est qu’il s’agit de la même équipe de développement que le service Sexy. Qui a commencé son entrée sur le marché en utilisant les comptes de ses utilisateurs à leur insu et sans leur consentement. Par conséquent, leur donner accès depuis les DM de leurs communautés me fait personnellement peur.

3. pushall.ru - Il s'agit d'un service de notification complet, incl. il a aussi VK. Il existe des notifications par email et télégramme, des notifications dans le navigateur sur un PC, des applications Android et iOS. Bien que tout soit en tas, vous pouvez les trier comme bon vous semble en utilisant les règles des robots de messagerie et de télégramme. Parmi les fonctionnalités uniques, le service peut transférer les réponses reçues de VK vers un autre serveur. Ceux. vous pouvez connecter plusieurs applications qui utilisent l'API de rappel. À utilisation gratuite Vous ne pouvez connecter que 2 serveurs.

Support du service - il fonctionne, est mis à jour, mais le rythme de mise à jour ne correspond pas à celui annoncé ; d'après l'actualité du service, j'ai eu l'impression que l'enthousiasme des développeurs s'est légèrement estompé. Selon le développeur, ils se sont simplement concentrés sur d'autres fonctions du service.

4. https://vk.com/callback_api_lite- le service se distingue par le fait qu'il dispose d'une connexion communautaire à un seul bouton, c'est-à-dire tous les paramètres du serveur de la communauté seront effectués pour vous. De plus, les notifications de chaque communauté vous sont envoyées séparément - via les DM de cette communauté. Ceux. Vous aurez plusieurs chats avec vos communautés dans votre compte personnel, où vous recevrez des notifications. Ces 2 fonctionnalités rendent le service pratique pour les propriétaires de plusieurs communautés, alors que le simple fait de connecter l'API de rappel leur donne tous envie de se pendre. Certes, vous devrez envoyer séparément au moins 1 message aux DM de chacune de vos communautés pour leur donner l'autorisation de vous envoyer des messages. Le support et l'amélioration du service sont effectués de manière assez active et très rapide - les améliorations sont apportées en 1 à 2 jours. Cependant, le service est clairement indiqué comme gratuit, donc aucune fonctionnalité intéressante n'est prévue.

Parmi les inconvénients : 1) lier la communauté à un compte à partir duquel vous avez accédé au service pour la première fois. Il ne sera pas possible de connecter des managers. 2) Pour se connecter en un seul bouton, le service accède à la gestion de la communauté. 3) Publications communautaires requises. J'ai maintenant 63 communautés qui travaillent sur un de mes projets, et ces communautés sont inondées de spam dans les DM presque tous les jours, toujours en même temps et surtout tard dans la soirée - lorsque le travail est déjà au point mort et que les notifications ne sont pas encore arrivées. été éteint. Ne répondez pas aux spams en MP = le temps de réponse affiché aux clients augmentera. Fermer LAN = reconnecter toutes les communautés à un autre service. Laissez tout tel quel = cintre.

5. Gamayun : https://gmun.pro. Les communautés sont connectées en un clic, mais dans certains cas pas du premier coup - l'erreur « pas de jeton de communauté » s'affiche. Toutes les notifications tombent dans compte personnel dans le service en une seule pile. Il existe un téléchargement de statistiques au format CSV - le seul service de tous - mais tout est également regroupé dans une seule pile pour toutes les communautés. Il y a un télégramme et notifications par courrier électronique. Comme callback api lite, le service donne accès à la gestion de l'ensemble de la communauté, et pas seulement aux notifications.

6. http://vk-notify.ru. Qui veut écrire son propre service - ici, il a le meilleur interface conviviale afficher des alertes. Malheureusement, le service semble être mort. Dans tous les cas, les notifications n'arrivent pas ; on ne sait pas si le service dispose d'un support.

Bonjour mes chers lecteurs du blog. Je voudrais consacrer l'article d'aujourd'hui recevoir l'API Numéro d'identification de VKontakte. Peut-être que quelqu'un demandera pourquoi en avons-nous besoin et en quoi est-il utile pour le blog ?

Le plan de l’article d’aujourd’hui n’est pas grand.

Pourquoi un blog a-t-il besoin d'un identifiant API ?

Comment l'obtenir ?

Pourquoi avez-vous besoin d'un identifiant API pour un blog VKontakte sur WordPress ?

Le numéro d'identification de l'API peut être nécessaire pour plugins sociaux. Les personnes qui laissent des likes et des commentaires via les boutons et widgets VKontakte doivent contacter le serveur afin que VK.COM sache sur quel site ses utilisateurs enregistrés laissent des commentaires ou des likes.

Ce numéro est également nécessaire pour que les personnes n'aient pas besoin de saisir leurs données. Mais la base de ce problème est le travail des plugins sociaux sur un site fonctionnant sous WordPress

Comment l'obtenir ?

Venons-en maintenant à l'essentiel. Comment obtenir un identifiant API sur VKontakte ?

Pour ce faire, vous devez vous rendre sur section développeurs, Cliquez ensuite sur créer une application, dans la fenêtre qui apparaît, sélectionnez l'onglet Site Web, saisissez également le nom de votre application, l'adresse de votre site et le domaine de base.

L'adresse sera - http://mysite.ru

Domaine de base - monsite.ru

monsite - l'adresse de votre site Web



Après avoir confirmé votre numéro de téléphone, vous serez redirigé vers une page contenant des informations sur votre application, vous devez cliquer sur l'onglet Paramètres et nous arriverons à la page où se trouve notre identifiant API VKontakte.


Profitez-en pour votre santé. J'espère que tu l'as eu pour toi informations utiles. A bientôt, chers lecteurs.

Abonnez-vous aux mises à jour du blog pour ne pas manquer de nouveaux articles.

Cordialement, S. Vasiliev

Nous écrirons en utilisant l'API Callback (envoie chaque action de la communauté séparément au serveur). Par conséquent, il doit également être configuré. Allons à
« Gestion de communauté » → « Travailler avec l'API ». Pour que le bot fonctionne, vous devez enregistrer une clé d'accès. Cliquez sur « Créer une clé » et sélectionnez droits nécessaires accès, ce bot n'a besoin que des droits de message. Nous confirmons le numéro de téléphone et enregistrons la clé d'accès quelque part. Allez maintenant dans l’onglet API de rappel. Mettez le nom de votre serveur et sélectionnez dernière version API (actuellement elle est de 5,80, et c'est avec elle que le bot présenté ci-dessous fonctionnera à 100%). Dans l'onglet « Types de requêtes », sélectionnez uniquement les messages entrants.

Configuration du serveur

Vous aurez maintenant besoin d'un serveur pour héberger votre bot. Vous pouvez utiliser hébergement gratuit, par exemple 000webhost.

Si vous utilisez un hébergement bon marché/gratuit, cURL sera très probablement désactivé (vous ne pourrez pas envoyer de fichiers multimédias avec le bot, uniquement du texte), et il ne pourra pas être activé. 000webhost convient à cela, vous pouvez l'utiliser. Si vous possédez votre propre serveur ou si vous en avez acheté un bon, vous devez alors connecter cURL pour travail à part entière bot de notre exemple.

Comment fonctionnent l'API de rappel et le clavier

Je vais vous faire un bref aperçu de la façon dont tout fonctionne. L'API Callback envoie à votre serveur tout événement survenant dans le groupe sous forme de JSON. Liste complète les événements peuvent être consultés dans l'onglet « API de rappel » → « Types d'événements ». Voici à quoi ressemble la requête JSON lorsque l'utilisateur envoie un message, en dans ce cas il appuya sur le bouton :

("type": "message_new","object":("date":1529668584,"from_id":89846036,"id":1522,"out":1,"peer_id":89846036,"text":"Or fish","conversation_message_id":305,"fwd_messages":,"important":false,"random_id":0,"attachments":,"payload":"(\"animaux\":\"Poisson rouge\")" ,"is_hidden":false),"group_id":101461081)

( "type" : "message_new" , "object" : ( "date" : 1529668584 , "from_id" : 89846036 , "id" : 1522 , "out" : 1 , "peer_id" : 89846036 , "text" : "Golden fish" , "conversation_message_id" : 305 , "fwd_messages" : , "important" : false , "random_id" : 0 , "attachments" : , "payload" : "(\"animaux\":\"Goldfish\")" , "is_hidden" : false ) , "group_id" : 101461081 )

Plusieurs champs intéressants peuvent être traités : identifiant utilisateur, texte du message (texte), charge utile boutons (charge utile).

Les messages sont envoyés à l'utilisateur en utilisant la méthode messages.envoyer. Si vous envoyez un clavier, alors après tout paramètres standards vous ajoutez un paramètre clavier qui contient le json des boutons, voici à quoi il ressemble :

Clavier : ( "one_time": false, "boutons": [ [( "action": ( "type": "text", "payload": "(\"button\": \"1\")", " label": "Rouge", "color": "négatif" ), ( "action": ( "type": "texte", "payload": "(\"bouton\": \"2\)" , " label": "Vert"), "color": "positif" )]

clavier: (

"one_time" : faux ,

"boutons" : [

"action" :(

"type" : "texte" ,

"charge utile" : "(\"bouton\": \"1\")" ,

"étiquette" : "Rouge"

"color" : "négatif"

"action" :(

"type" : "texte" ,

"charge utile" : "(\"bouton\": \"2\")" ,

"étiquette" : "Vert"

"color" : "positif"

Travailler avec la bibliothèque

Pour faire fonctionner le bot, nous utilisons une bibliothèque auto-écrite en PHP. (Si le lien ne fonctionne pas, voici l'archive) vous pouvez trouver la documentation de la bibliothèque et télécharger la bibliothèque elle-même. Voici une courte liste de fonctions prêtes à l'emploi pour écrire un bot, recherchez plus de détails sur le lien ci-dessus. Si vous souhaitez connaître les changements apportés à la bibliothèque, écrivez au moins un message à notre bot sur VK, grâce à lui, nous vous informerons des changements.

$vk = new vk_api(vk_key, version_api) — initialisation du bot. Paramètres : clé de communauté (vk_key), version de l'API (version_api).

sendMessage(id, text) - fonction pour envoyer des messages à l'utilisateur. Paramètres : identifiant utilisateur (id), texte du message (texte).

sendImage(id, patch) - fonction d'envoi d'images. Paramètres : identifiant utilisateur (id), chemin d'accès à l'image (patch).

sendButton(id, text,buttons, one_time) - fonction pour envoyer un message avec des boutons. Paramètres : identifiant utilisateur (id), texte du message (ne peut pas être vide) (texte), tableau avec boutons (boutons), non paramètre requis one_time, par défaut false, s'il est défini sur true, alors après avoir appuyé sur n'importe quel bouton, le clavier disparaîtra.

requête (méthode, array_arguments) — fonction universelle travailler avec des méthodes. Paramètres : méthode - nom de la méthode de l'API officielle, array_arguments - tableau de paramètres.

sendOK() — Fonction bêta. Utilisé à la place de echo « ok », il est utile dans les cas où le script prend beaucoup de temps à s'exécuter et où le bot commence à répéter les messages plusieurs fois.
IMPORTANT : si vous utilisez cette fonction, vous ne verrez pas de sortie d'erreur. Lors du débogage, remplacez-le par echo "ok"

Code complet du robot en PHP

Passons maintenant au code lui-même, où presque chaque ligne est commentée.
Ce code est pris en charge sur PHP 5.6+
Dans le bloc CONFIG, spécifiez votre clé d'accès à la communauté, la clé de confirmation du serveur et la version de l'API que vous avez choisie.

Code complet robot

« Poisson »], « Quelles sortes existe-t-il ? », « bleu »] ; //Code du bouton "Poisson" const BTN_BACK = [["command" => "start"], "<< Назад", "red"]; // Код кнопки "<< Назад" const BTN_SALMON = [["animals" =>"Saumon_rose"], "Saumon rose", "blanc"] ; // Code du bouton "Saumon rose" const BTN_GOLDFISH = [["animaux" => "Poisson rouge"], "Poisson rouge", "bleu"]; // Code du bouton "Poisson rouge" const BTN_PLOTVA = [["animaux" => "Plotva"], "Gardon", "vert"]; // Code du bouton "Roach" $vk = new vk_api(VK_KEY, VERSION); // création d'une instance d'une classe pour travailler avec l'API, accepte la clé API et la version $data = json_decode(file_get_contents("php://input")); //Reçoit et décode le JSON provenant de VK if ($data->type == "confirmation") ( //Si vk demande une sortie de clé (ACCESS_KEY); //Complétez le script en envoyant la clé) $vk-> envoyerOK(); //Dites à vk que nous avons accepté le rappel if (isset($data->type) and $data->type == "message_new") ( //Vérifie si ce message provient de l'utilisateur $id = $data->object ->from_id; //Récupère l'identifiant de l'utilisateur qui a écrit le message $message = $data->object->text; if (isset($data->object->peer_id)) $peer_id = $data->object ->peer_id; // Récupère le peer_id du chat d'où vient le message else $peer_id = $id; if (isset($data->object->payload))( // récupère la charge utile $payload = json_decode($ data->object->payload, True ); ) else ( $payload = null; ) if (isset($payload["command"]) ou mb_strtolower($message) == "start") ( //Si le début le bouton est enfoncé ou<< назад $vk->sendButton($peer_id, "Voulez-vous voir le poisson ?", []); //Envoyer le bouton à l'utilisateur ) else ( if ($payload != null) ( // si la charge utile existe, switch ($payload["animals"]) ( //Regardez ce qu'il y a dans le cas des boutons de charge utile "Fish": //S'il s'agit de Fish $vk->sendButton($peer_id, "Ce sont ceux que vous choisissez", [ //Envoyer les boutons à l'utilisateur, ]); break "Pink_salmon": //S'il s'agit de Pink Salmon; $vk->sendMessage($peer_id, "Gardez votre saumon rose !"); //envoyer un message $vk->sendImage($peer_id, "img/pink_salmon.jpg"); //envoyer une pause photo ; Goldfish": //S'il s'agit d'un poisson rouge $vk->sendMessage( $peer_id, "Elle exaucera vos souhaits..."); $vk->sendImage($peer_id, "img/goldfish.jpg"); break ; case "Plotva": //Si c'est Roach $vk->sendMessage( $peer_id, "Oh, on dirait que l'image a été mélangée)"); $vk->sendImage($peer_id, "img/plotva. jpg"); pause;

inclure "vk_api.php" ; //Connectez la bibliothèque pour travailler avec api vk

//*********CONFIG***************

const VK_KEY = "votre_clé" ; //la clé d'accès à la communauté la plus longue

const ACCESS_KEY = "votre_clé" ; //par exemple c40b9566, saisissez votre

const VERSION = "5.80" ; //votre version de l'API utilisée

//******************************

const BTN_FISH = [ [ "animaux" => "Poissons" ] , "Qu'est-ce qu'il y a ?" , "bleu" ] ; //Code du bouton "Poisson"

const BTN_BACK = [ [ "commande" => "démarrer" ] , "<< Назад" , "red" ] ; // Code du bouton "<< Назад"

const BTN_SALMON = [ [ "animaux" => "Saumon_rose" ] , "Saumon rose" , "blanc" ] ; // Code du bouton "Saumon rose"

const BTN_GOLDFISH = [ [ "animaux" => "Poisson rouge" ] , "Poisson rouge" , "bleu" ] ; // Code du bouton "Poisson rouge"

const BTN_PLOTVA = [ [ "animaux" => "Rôle" ] , "Gardon" , "vert" ] ; // Code du bouton "Gardon"

$vk = nouveau vk_api (VK_KEY, VERSION) ; // création d'une instance d'une classe pour travailler avec l'API, accepte la clé et la version de l'API

$data = json_decode (file_get_contents ( "php://input" ) ) ; //Reçoit et décode le JSON reçu de VK

if ($data -> type == "confirmation" ) ( //Si vk demande une clé

quitter(ACCESS_KEY); //Terminez le script en envoyant la clé

$vk -> envoyerOK () ; //Dites à vk que nous avons accepté le rappel

if (isset ($data -> type ) et $data -> type == "message_new" ) ( //Vérifie s'il s'agit d'un message d'un utilisateur

$id = $data -> objet -> from_id ; // Récupère l'identifiant de l'utilisateur qui a écrit le message

$message = $data -> objet -> texte ;

if (isset ($data -> object -> peer_id ) )

$peer_id = $data -> objet -> peer_id ; // Récupère le peer_id du chat d'où vient le message

autre

$peer_id = $id ;

if (isset ($data -> object -> payload ) ) ( //obtenir la charge utile

$payload = json_decode ($data -> object -> payload, True) ;

) autre (

$charge utile = null ;

if (isset ($payload [ "command" ] ) ou mb_strtolower ($message ) == "start" ) ( //Si le bouton de démarrage est enfoncé ou<< назад



Des questions ?

Signaler une faute de frappe

Texte qui sera envoyé à nos rédacteurs :