VKontakte arendajad. Mis on VKontakte API ja miks seda vaja on? Klass VK API-ga töötamiseks

Mõnikord tuleb ette olukordi, mida saab lahendada ainult sotsiaalvõrgustiku administratsiooni poole pöördudes.

Enne kui kirjutage VKontakte'i tehnilisele toele mõtle uuesti, saate probleemi lahendada ilma seda tegemata.

Tehnilise toe vastuse ootamine võib kesta kauem 24 tundi. Ja teavet VKontakte'i probleemide kohta leiate ka Internetist. Kõiki küsimusi käsitletakse meie veebisaidil.

Kuid kui soovite või isik ebaseadusliku iseloomuga tegude eest, saab selliseid küsimusi käsitleda ainult tehnilise toe kaudu.

1. Selleks, et võtke ühendust VK tehnilise toega Minge oma profiililt jaotisse "Abi".

  • Klõpsake paremas ülanurgas oma avataril;

2. Kirjutage tekkinud probleem üles.

  • Niipea, kui kirjutate probleemi, seisate silmitsi selle lahendamise viisid;

3. Kui meetodid teie probleemi ei lahenda, klõpsake nuppu "See ei lahenda minu probleemi."



  • Kui sellist nuppu pole, siis minge link ;

5. Nüüd üksikasjalikult kirjelda olukorda ja saatke küsimus läbivaatamiseks.


  • Mida rohkem teavet annate, seda suurem on võimalus, et teid aidatakse probleemi kiiresti lahendada;

See on kõik, nüüd ei jää muud üle kui oodata vastus VKontakte tehniliselt toelt.

Kui teid on häkitud, paluge kirjutada oma tehnilisele toele sõber/sugulane tema kontolt (). Tehke sama, kui leht on blokeeritud.

Kaotas juurdepääs telefonile, millele leht on lingitud? Tugiagent aitab teil passi skannida.

Kas nad üritavad sind petta? Väljapressitud? Fotode väljasaatmine? Kirjutage tehnilisele toele, väljapääs on olemas.

Vajadusel kirjutage oma telefonist VK tehnilisele toele, siis peaksite sarnaseid toiminguid tegema ainult mobiilirakenduses:

1. Laadige alla iOS, Android või Windows Phone jaoks ja minge vahekaardile.

Esiteks määratleme, mis on VK API ja milliseid võimalusi see meile pakub. VKontakte API - võimaldab arendajal spetsiaalsete http-päringute abil VKontakte andmebaasiga otse suhelda. Kuidas saab see meile kui arendajatele kasulik olla? API abil saame hankida väga erinevat teavet kasutajate, rühmade, seinapostituste, fotode ja palju muu kohta. Muidugi on teenusel teatud piirangud; selle kohta lähemalt allpool.

Hoiatan teid kohe, artikkel pole algajatele ja ma ei selgita mõnda punkti, kuna artikkel osutub väga pikaks. Nende artiklitega tahan lihtsalt näidata VK API ja koodinäidetega töötamise põhimõtet. Ja loomulikult on kood saadaval githubis.

põhiandmed

Esimene asi, mida peame oma rakenduse loomisel, on minna aadressile https://vk.com/dev. Järgmisena läheme "Minu rakendused" ja vajutage nuppu "Loo rakendus". VKontakte võimaldab teil registreerida 3 tüüpi rakendusi, millest igaühe lühikirjeldus:

  • Iseseisev rakendus- see on mõeldud mobiiliklientide, töölauaprogrammide ja saitide jaoks, kus API-ga suhtlemine toimub Javascripti kaudu.
  • veebisait- kui soovite kirjutada skripti veebisaidile, mis kasutab API-t, märkige see valik.
  • IFrame/Flash rakendus- mängud VKontakte'is jne.

Kirjutame rakenduse nime, valime tüübi "Veebisait", saidi aadressis ja baasdomeenis märgime teie saidi ja domeeni tegeliku aadressi. Kui arendate kohapeal, saate määrata http://localhost.

Rakenduse loomine

Meie rakendus on loodud, nüüd avage redigeerimise jaotises "Seaded". See leht sisaldab andmeid, mida vajame, nimelt id, kaitstud võti Ja teenindusvõti. Kõik see on vajalik kasutaja autoriseerimiseks. API-ga suhtlemise algoritm on väga lihtne:

  1. Kasutaja autoriseerib rakenduses VK konto.
  2. Saab spetsiaalse märgi.
  3. Teeb API-le päringuid.

Nüüd peame tegelikult kirjutama koodi, mis võimaldab meil API-ga suhelda. Kirjutame PHP-s, kaasates mõned teegid. Meil läheb vaja helilooja, kui teil pole seda installitud, saate selle alla laadida, järgides seda linki.

Looge projektikaustas fail composer.json ja kirjutage sinna järgmine tekst:

( "require": ( "slim/slim": "^3.0", "twbs/bootstrap": "4.0.0-alpha.6", "illuminate/andmebaas": "^5.4", "slim/twig-view" ": "^2.2", "guzzlehttp/guzzle": "~6.0" ) )

Salvestame faili, avame konsooli ja läheme oma projektiga kausta, mis sisaldab meie loodud faili. Käivitage helilooja installikäsk.
Selle käsuga installisime Slim miniraamistiku, Bootstrapi kiireks paigutuseks, paketi andmebaasiga töötamiseks ja mallimootori.

Rakenduse struktuur

Struktuur on väga lihtne ja sisaldab mitmeid faile ja kaustu.

  • rakendus— rakenduse seadete jaoks hoiame selles kaustas marsruute, klasse ja muid seadistusfaile.
  • avalik— faili sisaldav põhikaust index.php ja stiilifailid
  • ressursse- vaadete kaust

Failide loomine

public/index.php

jooksma();

Selles failis käivitame ainult oma rakenduse, kõik seaded tehakse teistes failides. See on meie sisenemispunkt.

app/app.php

sisaldama "../vendor/autoload.php"; // Silumine $config = [ "settings" => [ "displayErrorDetails" => true, "LogLevel" => "debug", "vk" => [ "client_id" => "TEIE RAKENDUSE ID", "client_secret" = > "TEIE RAKENDUSE SALAJANE VÕTI", "redirect_uri" => "http://vk-tutor.com/authorize", "display" => "hüpik", "scope" => "sõbrad, sein, võrguühenduseta ", " vastuse_tüüp" => "kood" ] ], ]; $rakendus = new Slim\App($config); // DI oksavaatele $container = $app->getContainer(); $container["vaade"] = funktsioon ($konteiner) ( $vaade = new \Slim\Views\Twig(../resources/views", [ "cache" => false ]); $basePath = rtrim(str_ireplace ("index.php", "", $container["request"]->getUri()->getBasePath()), "/"); $view->addExtension(new Slim\Views\TwigExtension($container[ "ruuter"], $basePath)); tagasta $vaade; ); sisaldama "classes/VK.php"; // Marsruudid nõuavad "routes.php";

Ärge kartke, midagi keerulist pole. Ühendame lihtsalt laadija, sisestame Twigi kasutamise sõltuvuse ja lisame faili marsruutidega.

app/routes.php

get("/", funktsioon ($request, $response) ( $vk = new VK($this->get("settings")["vk"]); if (isset($_SESSION["vk"]) ) ( if (!isset($_SESSION["konto"])) ( // Määrake luba $vk->accessToken = $_SESSION["vk"]->access_token; // Hankige teavet praeguse kasutaja kohta // Salvestage kogu teave seansile $_SESSION["konto"] = $vk->getAccountInfo($_SESSION["vk"]->kasutaja_id); ) tagastab $this->view->render($response,"index.html", [" vk" => $vk, "account" => $_SESSION["konto"]->vastus]); ) return $this->view->render($response,"index.html", ["vk" " = > $vk]); )); $app->get("/authorize", funktsioon ($request, $response) ( // Kontrollige, kas aadressiribal on kood if ($request->getQueryParam("code") != NULL) ( $vk = new VK($this->get("settings")["vk"]); // Hangi luba $_SESSION["vk"] = $vk->getAccessToken($request->getQueryParam("kood") ); ) return $response->withStatus(302)->withHeader("Asukoht", "../"); ));

Nüüd on meie rakendus täielikult kasutamiseks valmis. Lehe renderdamiseks tuleb mall paigutada ressursside/vaadete kataloogi. Võime hakata ise koodi kirjutama, mis võimaldab meil VKontakte API-ga suhelda. Kuna peame API-le HTTP-päringuid tegema, installisin Guzzle'i. See on HTTP-klient, mis võimaldab meil vkontakte'ile HTTP-päringuid väga lihtsalt täita.

Klass VK API-ga töötamiseks

kliendi_id = $params["kliendi_id"]; $this->kliendi_saladus = $params["kliendi_saladus"]; $see->ümbersuunamise_uri = $params["ümbersuunamise_uri"]; $see->kuva = $params["kuva"]; $this->scope = $params["ulatus"]; $this->response_type = $params["vastuse_tüüp"]; ) avalik funktsioon getLoginLink() ( $params = [ "kliendi_id" => $see->kliendi_id, "redirect_uri" => $this->redirect_uri, "scope" => $this->scope, "response_type" => $ this->response_type ]; tagasta $this->loginUrl . http_build_query($params); ) avalik funktsioon getAccessToken($code) ( $client = new \GuzzleHttp\Client(); $response = $klient->request("POST ", $this->queryUrl, [ "form_params" => [ "kliendi_id" => $this->kliendi_id, "client_secret" => $this->client_secret, "redirect_uri" => $this->redirect_uri, "code " => $kood, ], "verify" => false, ]); $data = json_decode($response->getBody()); tagasta $data; ) avalik funktsioon getAccountInfo($id) ( $url = "https ://api.vk.com/method/users.get"; $client = new \GuzzleHttp\Client(); $response = $klient->request("POST", $url, [ "form_params" => [ "user_ids" => $id, "fields" => "photo_50,counters", "name_case" => "Nom", "access_token" => $this->accessToken ], "verify" => false ]); $ andmed = json_decode($response->getBody()); tagasta $andmed; ) )

Kirjutasin väikese klassi, kes siiani teab ainult, kuidas kasutajat autoriseerida.
Meetod getLoginLink() genereerib sisselogimislingi, meetod getAccessToken() taotleb juurdepääsuluba ja viimane meetod getAccountInfo() laadib teavet volitatud kasutaja kohta.

See lõpetab rakenduse loogika ja kui kasutaja sisse logib, saame massiivi seansi kasutajaandmetega ja saame seda kuvada.
Kuna ma ühendasin Oks mallimootor, minu mallid on kirjutatud html-failides, kuid võite kasutada tavalisi php-faile või mõnda muud mallimootorit.

Failikood teabe kuvamiseks.

(% laiendab "layout/app.html" %) (% blokeerib sisu %)

(% kui konto %)

Konto


(% kontol oleva acc jaoks %)
(( acc.first_name )) (( acc.perenimi_name ))
Sõbrad: (( acc.counters.friends ))
Jälgijad: (( acc.counters.followers ))
(% lõpp %) (% muu %)

Autoriseeri kasutaja


Autoriseerimine (% endif %)
(%endblock%)

Raamistik sale see sobib väga hästi oma projektide jaoks väikeste rakenduste ja API-de loomiseks, mistõttu kasutasin seda selles artiklis ja kasutan seda ka edaspidi. Järgmises artiklis vaatame, kuidas saate grupis postitusi seinalt kätte saada ja neid töödelda.

Need, kes otsustavad VKontakte jaoks rakendusi arendada, peavad varem või hiljem tegelema sellise kontseptsiooniga nagu API (rakenduse programmeerimisliides), mis sõna-sõnalt tähendab rakenduste programmeerimisliidest.

Lihtsamalt - API see on terve kompleks mitmesugustest valmisfunktsioonidest, valmisklassidest, konstantidest jne, mida saab kasutada kolmandate osapoolte jaoks. VKontakte API-d täiustatakse pidevalt ja täna on see juba täielikult toimiv lisandmoodulite komplekt, mis võimaldab.

Siin saate dokumentatsiooni üksikasjalikult lugeda.
Viimane selle arenduskeskkonna globaalne ümberkujundamine viidi läbi 2009. aasta aprillis. Muidugi ka pärast seda saiti pidevalt muudeti. Märgime VKontakte API põhifunktsioone

  1. API võimaldas rakendustel pääseda juurde sõpradele, nende fotodele ja videotele. Rakendused saavad nüüd looge ise albumeid ja paigutage neisse teavet. Seda ei juhtunud varem. Oluline on see, et sellise rakenduse installimisel otsustab kasutaja, kas ta annab talle juurdepääsu isikuandmetele või mitte.
  2. Rakenduste kaudu teadete saatmine. Jah, see on mõnikord tüütu hüpikteade ekraani vasakpoolses alumises osas on samuti rakendatud API abil.
  3. Ka sõprade kutsumine rakendustesse on muutunud lihtsamaks tänu rakenduste programmeerimisliides, millel see masskutse funktsioon rakendati. Seejärel hakati neid kutseid reklaamiks kasutama.
  4. VK reklaam on rakenduste lehtedelt kadunud. Nüüd otsustab VK mängu või programmi arendaja ise, kas ta vajab oma mälupulgal reklaami. Kui jah, siis on tal õigus oma oma kohale panna ja sealt saada 100% kasum.
  5. Nagu VK arendajad seda nimetasid, said rakendusi integreerivad kasutajad juurdepääsu võrgu sisemajandusele. Lihtsamalt öeldes on saadaval API, mis võimaldab kasutage VKontakte'i sisemiste maksetena.
  6. Võimalus käivitada rakendusi täisekraanirežiimis. Maksimaalse raami suuruse suurendamine võimaldas paigutada reklaamiga täiendavaid bännereid, nii et tänapäeval pole VK jaoks rakenduste arendamine lihtsalt rõõm, vaid üsna tulus tegevus, kui otsustatakse reklaamiga tegeleda ja sellelt bännereid müüa.
  7. Kolmandate osapoolte rakendused levivad praegu ja uudistevoo kaudu. See on veel üks samm nende populariseerimiseks. Lisaks (kuigi see oli ammu, sai rakendusele kättesaadavaks miniatuurne ikoon).
  8. Rakenduse väljundi järjekord rakendatakse ka API abil. Täna on vaikimisi need mängud, mida kõige sagedamini käivitatakse, teie esimestel positsioonidel. Need, mida te pole pikka aega kasutanud, leiate loendi lõpust.
  9. Tänu API-le sai see kättesaadavaks ja üksikasjalik sisseehitatud statistika. Täna saate hõlpsalt lugeda rakenduse kasutaja külastajaid, lehevaatamisi, sugu, vanust ja asukohta. Kogu teave on esitatud võimalikult visuaalsel viisil, välkgraafikute kujul, mis koostatakse koheselt. Seda tehti eelkõige reklaami (reklaamipinna müümise) eesmärgil. Saate statistika, näete, et rakendust kasutavad kümned tuhanded inimesed. Näitate seda reklaamijale, kes tõenäoliselt soovib sellises rakenduses oleva bänneri eest maksta.
  10. Kõige populaarsemate rakenduste jaoks sai see võimalikuks lühikeste alamdomeenide registreerimine(näiteks chat.vk.com ja sarnased) hõlpsaks meeldejätmiseks ja kiireks juurdepääsuks.
  11. Noh, lõpuks ometi avanes võimalus teabe kuvamine kasutajate isiklikel lehtedel.

Hiljuti hakkasin kirjutama artikleid, keskendudes sotsiaalvõrgustiku Vkontakte kasutajate päringutele, nii et taaskord ma küsis: "Kuidas kirjutada tehnilisele toele VKontakte'is?" Ja ma kirjutan artikli, et järgmine kord saaksin vastuseks lihtsalt lingi saata.

Kui teil on VKontakte'iga probleeme, näiteks ei pääse lehele juurde, see on häkitud või muusika ei mängi, ei soovita ma kohe tehnilise toe poole pöörduda. Miks?

  1. VKontakte tehniline tugi on aeglane, tavaliselt saate probleemi ise kiiremini lahendada.
  2. On võimalus, et te ei saa tavalist abi; nad saadavad teid teavet otsima.
  3. Enamikku VKontakte'iga seotud probleeme saab lahendada ilma nendega ühendust võtmata. Kirjutan regulaarselt artikleid, milles lahendan kasutajaprobleeme; need leiate jaotisest. Või kasutage ajaveebi otsingut.

Kuidas kirjutada VKontakte tehnilisele toele?

Kujutagem ette, et on tekkinud probleem, mida saab lahendada vaid kontaktis olev tehniline tugi, näiteks teie leht on varastatud! Esimese asjana peate leidma VKontakte tehnilise toe saidi; nad on aadressi juba paar korda muutnud. Praegune link on selline http://vk.com/support?act=new.

Näete seda lehte, noolega näidatud väljal saate esitada mis tahes teid huvitava küsimuse. Allpool on lahendus ka kõige populaarsematele küsimustele, näiteks,?

Kontaktid ja tehnilise toe numbrid VKontakte'is

Tehnilise toega saate ühendust võtta ka e-posti teel, allpool ja ma panen üles tehnilise toe enda ja sellega tegelevate inimeste meili. Kahjuks pole VKontakte tehnilisel toel telefoninumbrit, helistamine ja probleemide lahendamine ei toimi.

E-post: [e-postiga kaitstud]– Tehnilise toe kontakt
E-post: [e-postiga kaitstud]- Gayane Manukyan
E-post: [e-postiga kaitstud]– Maksim Babitšev

Soovin teile edu võitluses tehnilise toega, kui on probleeme, kirjutage kommentaaridesse.

Kui see artikkel teid aitas või teile meeldis, ärge unustage anna oma meeldimine, aitab see teistel kasutajatel selle kiiremini üles leida. Ja ma saan teada, mis teid kõige rohkem huvitab, et valmistada ja kirjutada veelgi huvitavamaid ja kasulikke artikleid! Parimate soovidega, Vjatšeslav.