Come configurare smartphone e PC. Portale informativo
  • casa
  • Programmi
  • Cos'è l'ID API. Ottenere l'ID API dai social network VKontakte e Facebook

Cos'è l'ID API. Ottenere l'ID API dai social network VKontakte e Facebook

Servizi per il monitoraggio degli eventi nella tua comunità VK

Servizi che funzionano tramite l'API di richiamata di VK e hanno funzionalità approssimativamente simili: tracciamento dei commenti, messaggi nel DM della comunità, post sulla bacheca della comunità, ecc.

1. Bot API di richiamata https://vk.com/cbbot. Lo uso da circa sei mesi. Il bot è stabile e ha la capacità di connettere i manager. Lo svantaggio è che tutte le notifiche finiscono nello stesso PM, se ci sono molte community è una discarica.

2. Moderatore - https://vk.com/app5474492. L'applicazione ordina comodamente tutti gli eventi per tipo, ci sono impostazioni tipi diversi notifiche sugli eventi, possibilità di connettere i gestori. In termini di funzionalità, questa è la migliore applicazione disponibile. Lo svantaggio è che si tratta dello stesso team di sviluppo del servizio Sexy. Chi ha iniziato il suo ingresso nel mercato utilizzando gli account dei suoi utenti a loro insaputa o senza il loro consenso. Pertanto, dare loro l'accesso dai DM delle loro comunità è in qualche modo spaventoso per me personalmente.

3. pushall.ru - Questo è un servizio di notifica completo, incl. ha anche VK. Sono disponibili notifiche via email e telegramma, notifiche nel browser su PC, applicazioni Android e iOS. Anche se è tutto in un mucchio, puoi sistemarlo come preferisci utilizzando le regole dei bot di posta e di Telegram. Tra le caratteristiche uniche, il servizio può inoltrare le risposte ricevute da VK a un altro server. Quelli. puoi connettere diverse applicazioni che utilizzano call back API. A utilizzo gratuito Puoi connettere solo 2 server.

Supporto per il servizio: funziona, è aggiornato, ma la velocità di aggiornamento non corrisponde a quella dichiarata; in base alle novità del servizio, ho avuto l'impressione che l'entusiasmo degli sviluppatori si sia leggermente affievolito. Secondo lo sviluppatore si sono concentrati semplicemente su altre funzioni del servizio.

4. https://vk.com/callback_api_lite- il servizio si distingue per il fatto che ha una connessione comunitaria con un solo pulsante, ad es. tutte le impostazioni del server nella community verranno effettuate per te. Inoltre, le notifiche di ciascuna comunità ti vengono inviate separatamente, tramite i messaggi diretti di questa comunità. Quelli. Avrai diverse chat con le tue comunità nel tuo account personale, dove riceverai notifiche. Queste 2 funzionalità rendono il servizio conveniente per i proprietari di un gruppo di comunità, quando anche il solo collegamento dell'API di richiamata fa venir voglia a tutti di impiccarsi. È vero, dovrai inviare separatamente almeno 1 messaggio ai DM di ciascuna delle tue comunità per dare loro il permesso di inviarti messaggi. Il supporto e il miglioramento del servizio vengono effettuati in modo piuttosto attivo e molto rapido: i miglioramenti vengono apportati entro 1-2 giorni. Tuttavia, il servizio è chiaramente indicato come gratuito, quindi non sono previste funzionalità interessanti.

Tra gli svantaggi: 1) collegare la community a un account dal quale sei entrato per la prima volta nel servizio. Non sarà possibile connettere i gestori. 2) Per connettersi con un solo pulsante, il servizio accede alla gestione della community. 3) Post della community obbligatori. In questo momento ho 63 comunità che lavorano su uno dei miei progetti, e queste comunità sono inondate di spam nei DM quasi ogni giorno, sempre tutte insieme e soprattutto la sera tardi - quando il lavoro è già fermo, ma le notifiche non arrivano ancora stato spento. Non rispondere allo spam in PM = il tempo di risposta mostrato ai clienti aumenterà. Chiudi LAN = ricollega tutte le comunità a un altro servizio. Lascia tutto così com'è = appendino.

5. Gamayun: https://gmun.pro. Le comunità si collegano con un clic, ma in alcuni casi non al primo tentativo: viene visualizzato l'errore "nessun token comunità". Tutte le notifiche rientrano in Area personale nel servizio in una pila. C'è un caricamento delle statistiche in CSV - l'unico servizio di tutti - ma anche tutto è in una pila per tutte le comunità. Ci sono notifiche tramite telegramma ed e-mail. Come Callback API Lite, il servizio dà accesso alla gestione dell'intera comunità e non solo alle notifiche.

6. http://vk-notify.ru. Chi vuole scrivere il proprio servizio, qui ha il migliore interfaccia intuitiva visualizzare gli avvisi. Purtroppo il servizio sembra essere morto. In ogni caso le notifiche non arrivano, non è noto se il servizio abbia supporto.

Ciao miei cari lettori del blog. Vorrei dedicare l'articolo di oggi all'ottenimento di un numero ID API da VKontakte. Forse qualcuno si chiederà perché ne abbiamo bisogno e in che modo è utile per il blog?

Il piano per l'articolo di oggi non è grande.

Perché un blog ha bisogno di un ID API?

Come ottenerlo?

Perché hai bisogno di un ID API per un blog VKontakte su WordPress?

Potrebbe essere necessario il numero ID API plugin sociali. Le persone che lasciano Mi piace e commenti tramite i pulsanti e i widget di VKontakte devono contattare il server in modo che VK.COM sappia su quale sito i suoi utenti registrati lasciano commenti o Mi piace.

Questo numero è necessario anche affinché le persone non debbano inserire i propri dati. Ma la base di questo problema è il lavoro dei social plugin su un sito che esegue WordPress

Come ottenerlo?

Ora arriviamo alla cosa principale. Come ottenere l'ID API su VKontakte?

Per fare questo devi andare a sezione sviluppatori Successivamente, fai clic su crea un'applicazione, nella finestra che appare, seleziona la scheda Sito Web, inserisci anche il nome della tua applicazione, l'indirizzo del tuo sito e il dominio di base.

L'indirizzo sarà: http://miosito.ru

Dominio di base - miosito.ru

miosito: l'indirizzo del tuo sito web



Dopo aver confermato il tuo numero di telefono, verrai indirizzato a una pagina con le informazioni sulla tua applicazione, devi fare clic sulla scheda delle impostazioni e arriveremo alla pagina in cui si trova il nostro ID API VKontakte.


Divertitevi per la vostra salute. Spero che tu l'abbia capito da solo informazioni utili. A presto, cari lettori.

Iscriviti agli aggiornamenti del blog per non perdere nuovi articoli.

Cordiali saluti, S. Vasiliev

Scriveremo utilizzando Callback API (invia ogni azione nella comunità separatamente al server). Pertanto, dovrebbe anche essere configurato. Andiamo a
“Gestione della community” → “Lavorare con API”. Affinché il bot funzioni, è necessario registrare una chiave di accesso. Fai clic su "Crea una chiave" e seleziona i diritti di accesso necessari; questo bot necessita solo dei diritti sui messaggi. Confermiamo il numero di telefono e salviamo la chiave di accesso da qualche parte. Ora vai alla scheda API di richiamata. Inserisci il nome del tuo server e seleziona ultima versione API (attivato questo momentoè 5.80, ed è con esso che il bot presentato di seguito funzionerà al 100%). Nella scheda "Tipi di richiesta", seleziona solo i messaggi in arrivo.

Ottimizzazione del server

Ora avrai bisogno di un server per ospitare il tuo bot. Puoi usare hosting gratuito, ad esempio 000webhost.

Se utilizzi hosting economico/gratuito, molto probabilmente cURL sarà disabilitato (non sarai in grado di inviare file multimediali con un bot, solo testo) e non potrà essere abilitato. 000webhost va bene con questo, puoi usarlo. Se hai il tuo server o ne hai acquistato uno valido, devi connettere cURL per lavoro a tutti gli effetti bot dal nostro esempio.

Come funzionano l'API Callback e la tastiera

spenderò breve escursione come funziona tutto. L'API Callback invia al tuo server qualsiasi evento che si verifica nel gruppo sotto forma di JSON. Lista completa gli eventi possono essere visualizzati nella scheda “Callback API” → “Tipi di eventi”. Ecco come appare la richiesta JSON quando l'utente invia un messaggio, in in questo caso premette il pulsante:

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

( "tipo": "messaggio_nuovo", "oggetto" : ( "data": 1529668584, "da_id" : 89846036, "id" : 1522, "out": 1, "peer_id" : 89846036, "testo": "Golden fish" , "conversation_message_id" : 305 , "fwd_messages" : , "important" : false , "random_id" : 0 , "attachments" : , "payload" : "(\"animals\":\"Goldfish\")" , "is_hidden": false), "group_id": 101461081)

Ci sono diversi campi interessanti che possono essere elaborati: ID utente, testo del messaggio (testo), payload del pulsante (payload).

I messaggi vengono inviati all'utente utilizzando il metodo messaggi.invia. Se invii una tastiera, dopo tutti i parametri standard aggiungi il parametro tastiera, che contiene il json dei pulsanti, ecco come appare:

Tastiera: ( "one_time": false, "pulsanti": [ [( "azione": ( "tipo": "testo", "payload": "(\"pulsante\": \"1\")", " label": "Rosso", "color": "negativo" ), ( "action": ( "type": "text", "payload": "(\"button\": \"2\)" , " etichetta": "Verde"), "colore": "positivo")]

tastiera: (

"una_volta": falso,

"pulsanti" : [

"azione" :(

"tipo": "testo",

"carico utile" : "(\"pulsante\": \"1\")" ,

"etichetta": "Rosso"

"colore": "negativo"

"azione" :(

"tipo": "testo",

"carico utile" : "(\"pulsante\": \"2\")" ,

"etichetta": "Verde"

"colore": "positivo"

Collaborare con la biblioteca

Per far funzionare il bot, utilizziamo una libreria autoscritta in PHP. (Se il collegamento non funziona, ecco l'archivio) puoi trovare la documentazione per la libreria e scaricare la libreria stessa. Ecco un breve elenco di funzioni già pronte per scrivere un bot, cerca maggiori dettagli al link sopra. Se vuoi essere informato sui cambiamenti nella libreria, scrivi almeno un messaggio al ns bot su VK, attraverso di esso ti informeremo delle modifiche.

$vk = new vk_api(vk_key, version_api) — inizializzazione del bot. Parametri: chiave community (vk_key), versione API (version_api).

sendMessage(id, text) - funzione per inviare messaggi all'utente. Parametri: ID utente (id), testo del messaggio (testo).

sendImage(id, patch) - funzione per l'invio di immagini. Parametri: ID utente (id), percorso dell'immagine (patch).

sendButton(id, text,buttons, one_time) - funzione per inviare un messaggio con i pulsanti. Parametri: ID utente(ID), testo del messaggio(non può essere vuoto)(testo), array con pulsanti(pulsanti), non parametro richiesto one_time, per impostazione predefinita false, se impostato su true, dopo aver premuto un pulsante qualsiasi la tastiera scomparirà.

richiesta(metodo, array_arguments) — funzione universale lavorare con metodi. Parametri: metodo — nome del metodo da cui API ufficiale, array_arguments — array di parametri.

sendOK() — Funzione beta. Usato al posto di echo "ok", aiuta nei casi in cui lo script impiega molto tempo per essere eseguito e il bot inizia a ripetere i messaggi più volte.
IMPORTANTE: se utilizzi questa funzione, non vedrai l'output degli errori. Durante il debug, sostituiscilo con echo "ok"

Codice bot completo in PHP

Passiamo ora al codice stesso, dove quasi ogni riga è commentata.
Questo codice è supportato su PHP 5.6+
Nel blocco CONFIG, specifica la chiave di accesso alla community, la chiave di conferma del server e la versione API che hai scelto.

Codice completo bot

"Pesci"], "Che specie ci sono?", "blu"]; //Codice del pulsante "Pesce" const BTN_BACK = [["command" => "start"], "<< Назад", "red"]; // Код кнопки "<< Назад" const BTN_SALMON = [["animals" =>"Rosa_salmone"], "Rosa salmone", "bianco"]; // Codice per il pulsante "Salmone rosa" const BTN_GOLDFISH = [["animals" => "Pesce rosso"], "Pesce rosso", "blu"]; // Codice per il pulsante "Pesce rosso" const BTN_PLOTVA = [["animals" => "Plotva"], "Roach", "green"]; // Codice per il pulsante "Roach" $vk = new vk_api(VK_KEY, VERSION); // creando un'istanza di una classe per lavorare con l'API, accetta la chiave API e la versione $data = json_decode(file_get_contents("php://input")); //Riceve e decodifica JSON proveniente da VK if ($data->type == "confirmation") ( //Se vk richiede una chiave exit (ACCESS_KEY); //Completa lo script inviando la chiave) $vk-> inviaOK(); //Di' a vk che abbiamo accettato la richiamata if (isset($data->type) and $data->type == "message_new") ( //Controlla se questo messaggio proviene dall'utente $id = $data->object - >from_id; //Ottiene l'id dell'utente che ha scritto il messaggio $message = $data->object->text; if (isset($data->object->peer_id)) $peer_id = $data->object ->peer_id; // Ottieni il peer_id della chat da cui proviene il messaggio else $peer_id = $id; if (isset($data->object->payload))( //ottieni il payload $payload = json_decode($ dati->oggetto->payload, True ); ) else ( $payload = null; ) if (isset($payload["command"]) o mb_strtolower($message) == "start") ( //Se l'inizio viene premuto il pulsante o<< назад $vk->sendButton($peer_id, "Vuoi vedere il pesce?", []); //Invia il pulsante all'utente ) else ( if ($payload!= null) ( // se il payload esiste cambia ($payload["animals"]) ( //Guarda cosa c'è nel case dei pulsanti del payload "Fish": //Se questo è Fish $vk->sendButton($peer_id, "Come questi, scegli", [ //Invia pulsanti all'utente, ]); break; case "Pink_salmon": //Se questo è Pink Salmon $vk ->sendMessage($peer_id, "Mantieni il tuo rosa salmone!"); //invia un messaggio $vk->sendImage($peer_id, "img/pink_salmon.jpg"); //invia un'interruzione di foto; case "Goldfish" : //Se questo è un pesce rosso $vk->sendMessage( $peer_id, "Lei esaudirà i tuoi desideri..."); $vk->sendImage($peer_id, "img/goldfish.jpg"); break; case "Plotva": //Se questo è Roach $vk->sendMessage( $peer_id, "Oh, sembra che l'immagine sia stata confusa)"); $vk->sendImage($peer_id, "img/plotva.jpg") ; break; default: break; ) ) ) ) ?>

includere "vk_api.php"; //Collega la libreria per lavorare con api vk

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

const VK_KEY = "tua_chiave"; //la chiave di accesso alla community più lunga

const ACCESS_KEY = "tua_chiave"; //ad esempio c40b9566, inserisci il tuo

const VERSIONE = "5.80" ; //la tua versione dell'API utilizzata

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

const BTN_FISH = [ [ "animali" => "Pesci" ] , "Cosa ci sono?" , "blu" ] ; //Codice del pulsante "Pesce".

const BTN_BACK = [ [ "comando" => "inizio" ] , "<< Назад" , "red" ] ; // Codice del pulsante "<< Назад"

const BTN_SALMON = [ [ "animali" => "Rosa_salmone" ] , "Rosa salmone" , "bianco" ] ; // Codice per il pulsante "Rosa salmone".

const BTN_GOLDFISH = [ [ "animali" => "Pesce rosso"], "Pesce rosso", "blu"]; // Codice per il pulsante "Goldfish".

const BTN_PLOTVA = [ [ "animali" => "Ruolo" ] , "Scarafaggio" , "verde" ] ; // Codice per il pulsante "Roach".

$vk = nuovo vk_api (VK_KEY, VERSIONE) ; // creando un'istanza di una classe per lavorare con l'API, accetta la chiave e la versione dell'API

$dati = json_decode (file_get_contents ("php://input")) ; //Riceve e decodifica JSON ricevuto da VK

if ($dati -> tipo == "conferma" ) ( //Se vk richiede una chiave

esci(CHIAVE_ACCESSO); //Completa lo script inviando la chiave

$vk -> inviaOK () ; //Di' a vk che abbiamo accettato la richiamata

if (isset ($data -> type ) e $data -> type == "message_new" ) ( //Controlla se questo è un messaggio da un utente

$id = $dati -> oggetto -> from_id ; //Ottiene l'ID dell'utente che ha scritto il messaggio

$messaggio = $dati -> oggetto -> testo;

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

$peer_id = $dati -> oggetto -> peer_id; // Ottieni il peer_id della chat da cui proviene il messaggio

altro

$id_peer = $id ;

if (isset ($data -> object -> payload ) ) ( //ottieni payload

$ payload = json_decode ($ dati -> oggetto -> payload, True) ;

) altro (

$carico utile = nullo;

if (isset ($payload ["comando"]) o mb_strtolower ($messaggio) == "inizio") ( //Se viene premuto il pulsante di avvio o<< назад

In contatto con

Per creare un widget per VKontakte, segui il collegamento: https://vk.com/dev/sites

In questa pagina puoi creare vari widget per l'interazione tra le funzionalità di VK e il tuo sito web.

  1. Sito web\applicazione: se non disponi di un sito web collegato all'API VK, devi prima collegarlo. Per fare ciò, seleziona "Connetti un nuovo sito" dall'elenco a discesa.
  2. Nome sito: inserisci un nome qualsiasi.
  1. Indirizzo del sito: inserisci l'indirizzo del sito collegato.
  2. Il dominio principale del sito viene registrato automaticamente.
  3. Argomento del sito: specifica l'argomento del tuo sito.
  4. Numero di commenti: specificare il numero massimo di commenti da visualizzare.
  5. Media: aggiunge un pulsante "Allega" al modulo dei commenti.
  6. Larghezza: specifica la larghezza del widget.
  7. Codice incorporato: questo codice può essere inserito in qualsiasi punto desiderato del tuo sito. Memorizza un APIID univoco, utilizzato in molte estensioni del sito Joomla.

Facebook

Per creare un widget per Facebook, segui il collegamento: https://developers.facebook.com/docs/plugins

In questa pagina puoi creare diversi widget per interagire tra le funzionalità di Facebook e il tuo sito web.

Un esempio di creazione di un widget commenti:

Il processo di creazione è lo stesso di VK.

Se non hai creato un'applicazione, devi crearne una. Per fare ciò, fai clic sulla voce di menu "Applicazioni" e seleziona "Crea una nuova app".

Nome da visualizzare: Immettere il nome dell'applicazione.

Spazio dei nomi: Inserisci un identificatore univoco (forse il nome del tuo sito).

Clicca su "Crea un'applicazione", inserisci il codice di verifica e procedi direttamente alla creazione del widget.

Larghezza: Specificare la larghezza del widget.

Numero di post: Seleziona il numero massimo di commenti da visualizzare.

Combinazione di colori: Seleziona una combinazione di colori per il widget.

Fai clic su "Ottieni codice"

Dopo aver fatto clic, viene visualizzata una finestra in cui è memorizzato l'ID API.

Se hai bisogno di inserire velocemente e senza sforzo qualsiasi widget in un sito Joomla, leggi QUESTO articolo.

PS Altri widget per questi social network vengono creati allo stesso modo.

Hai una comunità VKontakte? Ti capita che qualcuno abbia scritto un commento negativo, insultato qualcuno o semplicemente scritto una recensione sulla tua azienda o una domanda a cui bisogna rispondere velocemente? Noi di PushAll abbiamo scritto un microservizio che ti consente di ricevere notifiche su vari eventi nelle tue comunità. Il fatto è che VKontakte è stato recentemente lanciato API di richiamata per le comunità e abbiamo deciso di utilizzarlo trasferendolo dall'API in un formato di notifica push.

Come usarlo?


Devi solo iscriverti al canale dei microservizi e seguire le istruzioni

Inserisci l'indirizzo del microservizio in una sezione speciale nelle impostazioni del tuo gruppo e nelle impostazioni del microservizio inserisci il codice di cui VKontakte ha bisogno per la verifica. È inoltre necessario passare l'autorizzazione tramite OAuth VK in modo che il microservizio possa ricevere dati sugli utenti: avatar e nomi.

Successivamente, riceverai tutte le notifiche specificate nella sezione "Tipi di eventi".

Tuttavia, devi comprendere che non tutti i tipi di eventi sono supportati:

  • Messaggi
  • Commenti
  • Messaggi
  • Esci/Accedi alla community
  • Discussioni
Questi tipi vengono forniti con l'avatar e il nome utente dell'utente che ha avviato l'evento, il titolo dell'evento e l'evento stesso.

I restanti tipi attualmente si presentano sotto forma di "Notifica non supportata" e trasmettono tutto il JSON inviato da VKontakte. Saranno completati entro una settimana.

Dove arrivano le notifiche?

Per coloro che non sanno dove PushAll invia le notifiche:
  • Applicazione Android
  • Componente aggiuntivo di Chrome con cronologia
  • Web push in Chrome (Android+PC), browser Yandex, vivaldi, firefox, Safari
  • Bot di Telegram
  • E-mail
  • iOS (beta)
La portata dei dispositivi e della connettività continuerà ad aumentare.

Sicurezza

VKontakte ha adottato un approccio approfondito alla sicurezza: lo script riceve solo i dati specificati e non è possibile l'accesso al controllo. Fornire l'accesso all'API, necessario per avatar e nomi utente, richiede solo l'autorizzazione offline e non richiede nemmeno l'e-mail dell'utente.

Restrizioni

Il microservizio è completamente gratuito. Puoi connettere più comunità se specifichi per loro lo stesso indirizzo del microservizio e ogni volta modifichi il codice di verifica nelle impostazioni del microservizio. Cioè, puoi connettere un numero illimitato di gruppi per ricevere notifiche.

Allo stesso tempo, ora non ci sono filtri, ovvero tutto ciò che indichi in VK ti verrà inviato come notifiche push. In futuro verrà chiamato:

  • Consenti il ​​trasferimento di JSON su un altro script, ovvero puoi utilizzare AdminVK come proxy, ricevere notifiche e passare ulteriormente la richiesta allo script di raccolta di analisi o da qualche altra parte
  • Consentire di specificare ID utente attendibili e ID utente che dovrebbero ricevere notifiche. Quelli. potrai condividere, come amministratore, le tue notifiche push ai tuoi moderatori
  • Filtra per parole. Ad esempio, non riceverai tutte le notifiche push, ma solo quelle che contengono i nomi di determinati marchi: da un lato, menzionare un marchio non è motivo di divieto, ma dipende dal contesto
  • Distribuzione delle notifiche tra i moderatori, ad es. in base al secondo punto sarà possibile distribuire uniformemente le notifiche in arrivo per ridurre il carico sulle persone

perché ne abbiamo bisogno?

Si tratta essenzialmente di un “proof-of-concept”, ovvero questo microservizio è stato creato per mostrare come le funzionalità di PushAll possano essere utilizzate per piccoli servizi legati alle notifiche. Ad esempio, mi ci è voluta circa 1 ora per scrivere l'intero microservizio affinché fosse pronto per il lavoro sotto forma della prima alfa, utilizzando essenzialmente l'API PushAll standard e chiunque può anche scrivere il proprio microservizio in grado di inviare notifiche agli utenti su vari eventi su molte piattaforme.

Questo è solo il primo dei tanti microservizi che realizzeremo in seguito.

I migliori articoli sull'argomento