Kontaktda səlahiyyətli istifadəçi nədir. VKontakte profilinizi necə bağlamaq olar (təlimatlar)

Bu məqalə nümunə olaraq Java-da iş masası proqramından istifadə edir, lakin ümumi prinsiplər və sxem hər hansı digər dil üçün oxşar olacaq.

Avtorizasiya necə baş verir?

VKontakte-də avtorizasiya üçüncü tərəf serveri vasitəsilə hər hansı digər avtorizasiyadan fərqlənmir. Bu proses StackOverflow istifadəçisi tərəfindən mükəmməl təsvir edilmişdir qnub:

  1. Xidmətdə (bu halda VK) tətbiqi qeydiyyatdan keçirməli və API açarı almalısınız.
  2. Bundan sonra proqram (sayt) eyni API vasitəsilə istifadəçinin şəxsi məlumatlarını üçüncü tərəf xidmətindən tələb edə bilər, bunun üçün:
    • istifadəçini yönləndirmək (istifadəçinin brauzeri ona 302 Yönləndirmə HTTP cavabı göndərməklə). xüsusi yaradılmış keçid API təmin edən xidmətə;
    • istifadəçi orada bəzi hərəkətlər edəcək, ehtimal ki, daxil olacaq və məlumatlara girişə icazə verəcək.
  3. Hərəkətlər başa çatdıqdan sonra istifadəçi parametrlərdə ötürülən URL-ə eyni 302 Yönləndirmədən istifadə edərək üçüncü tərəf xidməti tərəfindən yönləndiriləcək. xüsusi yaradılmış keçid.

Birinci addım. Ərizənizi qeydiyyatdan keçirin və açar əldə edin

Bu addım ən asandır. Tərtibatçılar üçün VK səhifəsinə keçməlisiniz: https://vk.com/dev- və "Tətbiq yarat" düyməsini basın. Növü "Müstəqil proqram" olaraq göstəririk, əlbəttə ki, ad ixtiyaridir. Bundan sonra bölmədə "Mənim tətbiqlərim"(nə düşünürsünüz?) ərizəniz görünəcək. "Düzəliş etmək" düyməsini sıxmaqdan çekinmeyin, sonra "Parametrlər" bölməsinə keçin - orada birinci sətirdə "Tətbiq ID:" yazısını görəcəksiniz. 1234567 " Bu nömrələr daxil olmaq üçün yadda saxlamağınız lazım olan hər şeydir.

Qeyd edək ki, proqram ID-sini gizlətməyin mənası yoxdur - o, məsələn, bu proqram vasitəsilə divar mesajı yerləşdirərkən ictimaiyyətə göstərilir. ID-dən istifadə etməklə nə tokenlər, nə də başqa məlumatlar oğurlana bilməz. Əslində, siz hətta mənim tətbiqi identifikatorumdan istifadə edə bilərsiniz (özünüz üçün kiçik bir skript yazmalısınızsa).

İkinci addım. Xüsusi bir keçid yaratmaq

Bundan sonra, istifadəçini xüsusi yaradılmış ünvana yönəltməlisiniz (onun qeydləri məqalənin birinci hissəsində qalın hərflərlə vurğulanır), burada o, ərizənizin öz hesabı ilə bəzi hərəkətləri yerinə yetirməsinə icazə vermək istədiyini təsdiqləyəcək. Bu əlaqə necə qurulub?

Bu proses ətraflı təsvir edilmişdir sənədlər. Ancaq bu məqaləyə müraciət etsəniz, sənədlərdə kifayət qədər məlumatınız olmadığını güman edirəm və buna görə də hər şeyi öz sözlərimlə təkrarlayacağam. Link belə görünür: host?parameters. Parametrlər & simvolları ilə ayrılmış bir neçə açar=dəyər cütü formasını alır.

Ev sahibi həmişə eyni qalır: https://oauth.vk.com/authorize. Parametrlər dəsti də dəyişməzdir:

  • müştəri_id. Burada ilk addımda əldə etdiyimiz eyni nömrələri göstərməyə dəyər.
  • redirect_uri. İstifadəçinin yönləndiriləcəyi ünvan. Bağımsız proqramlar üçün bu, yalnız https://oauth.vk.com/blank.html-dir.
  • göstərin. Bu parametr giriş səhifəsinin necə göstəriləcəyini müəyyən edir. Üç seçim mövcuddur: səhifə, pop-up və mobil. Əmin deyilsinizsə, səhifədən istifadə edin.
  • əhatə dairəsi. Bu parametrdə sizə lazım olan giriş parametrlərini vergüllə ayırmalısınız. Mövcud seçimlərin tam siyahısı üçün baxın müvafiq səhifə sənədlər. Nəzərə alın ki, siz ümumiyyətlə heç nə göstərə bilməzsiniz və sadəcə bu parametri yaza bilməzsiniz. Hansı giriş seçimlərinə ehtiyacınız olduğunu öyrənmək üçün baxın metod sənədləri istifadə edəcəyiniz.
  • cavab_növü. Tokeni təyin edirik və davam edirik.
  • v. API versiyası. Cari - 5.59 .

https://oauth.vk.com/authorize?client_id=1&display=page&redirect_uri=http://example.com/callback&scope=friends&response_type=token&v=5.59

Üçüncü addım. Sonra nə var?

http://REDIRECT_URI#access_token= TOKEN 3&expires_in= ZAMAN&user_id= ID

Biz maraqlanırıq TOKEN. İstifadəçini Java proqramından bir səhifəyə necə yönləndirmək və VK-nın onu yönləndirəcəyi səhifənin ünvanını necə əldə etmək olar (ondan işarə çıxarmaq üçün)? İki yol var.

Bu marşrutla getmək qərarına gəlsəniz, yuxarıda aldığınız linklə sistemin standart brauzerini açırsınız və bir şəkildə istifadəçiyə işarəni URL-dən köçürməli və hansısa sahəyə yapışdırmalı olduğunu söyləyirsiniz. Aydındır ki, bu üsul dəhşətli UX-ə malikdir, lakin tez və asanlıqla həyata keçirilə bilər. Özünüz üçün bir ərizə yazırsınızsa - musiqi yükləmək və ya bildirişlər almaq üçün olduqca uyğundur. O, aşağıdakı kimi həyata keçirilir:

Public String askToken(String link) IOException, URISyntaxException (/Defolt brauzerdə linki açır Desktop.getDesktop().browse(new URI(link)); //İstifadəçidən JOptionPane.showInputDialog("u əl ilə qaytarmaq üçün brauzerdən işarəni daxil etməyi xahiş edir(" Zəhmət olmasa brauzerdən access_token parametrini daxil edin: "); )

Burjua, veb komponentləri vasitəsilə

Bu marşruta getməyə qərar versəniz, öz brauzer komponenti olan bəzi üçüncü tərəf GUI kitabxanasından (və ya ən azı JavaFX) istifadə etməlisiniz. Proqramınız belə bir brauzer üzərində tam gücə malik olacaq və siz proqram təminatından istifadə edərək VK-nın sizi yönləndirdiyi ünvanı əldə edə biləcəksiniz. JavaFX-də bu belə həyata keçirilə bilər:

javafx.application.Application idxalı; javafx.beans.value.ChangeListener import; import javafx.beans.value.ObservableValue; import javafx.scene.Scene; javafx.scene.web.WebEngine idxalı; javafx.scene.web.WebView idxalı; import javafx.stage.Stage; ictimai sinif Əsas Tətbiqi genişləndirir( ictimai statik yekun Sətir REDIRECT_URL = "https://oauth.vk.com/blank.html"; ictimai statik yekun Sətir VK_AUTH_URL = ""; //TODO!!! ictimai statik String tokenUrl; ictimai statik void main(String args)( System.out.println(Main.getTokenUrl()); ) public static String getTokenUrl())( launch(Main.class); return tokenUrl; ) @Override public void start(Stage primaryStage) atışları İstisna ( son WebView görünüşü = yeni WebView(); yekun WebEngine mühərriki = view.getEngine(); engine.load(VK_AUTH_URL); PrimerStage.setScene(yeni Scene(görünüş)); PrimerStage.show(); engine.locationProperty() addListener(yeni ChangeListener ()( @İctimai etibarsızlığı ləğv et(ObservableValuemüşahidə edilə bilən, String oldValue, String newValue) (if(newValue.startsWith(REDIRECT_URL))( tokenUrl=newValue; PrimerStage.close(); ) ) ); ) )

Nəticə

Beləliklə, API metodlarına zəng edə biləcəyiniz VKontakte giriş nişanını necə əldə edəcəyinizi öyrəndik. Əgər bu məqalə cəmiyyətdə maraq doğurursa, növbəti məqalədə mən tokendən istifadə edərək müəyyən API metodlarını necə çağırmağı, tokenin etibarlılığını necə yoxlamaq (təbii ki, security.checkToken() metodu) və bəzilərini yazacam. məsələn, pleylistdəki bütün musiqiləri kompüterinizə saxlamaq üçün bir növ demo tətbiqi. Yeri gəlmişkən, unutmayın ki, əslində hər şey bizdən əvvəl icad edilmişdir və artıq demək olar ki, hər hansı bir dil üçün VK API ilə işləmək üçün kitabxanalar var. Onlardan ən yaxşısını toplamağa çalışdıq.

Hər hansı bir fikriniz və ya sualınız varsa, şərhlərə xoş gəlmisiniz (mən onları oxuyuram və hamısına cavab verirəm). Siz də suallar verə bilərsiniz

Yəqin ki, bunu artıq eşitmisiniz Bu gün sosial şəbəkələr vasitəsilə demək olar ki, istənilən insan haqqında məlumat əldə edə bilərsiniz, və xüsusilə VKontakte vasitəsilə. Üstəlik, çox vaxt orada qeydiyyatdan keçmək lazım deyil. Axtarış sistemində istədiyiniz şəxsin soyadını, adını və yaşadığı şəhəri yazmaq kifayətdir və bu qədər.

Bunun nə üçün pis olduğu barədə təfərrüata varmayacağam (istəyən hər kəs VKontakte hesabının qorunması ilə bağlı bu mövzuda yazdığım məqaləni oxuya bilər), amma maraqlananlar üçün həyatı bir az da çətinləşdirməyə diqqət yetirəcəyəm. Xalq.

Əlaqə səhifənizi axtarış motorlarından necə bloklamaq olar? (Yandex, Google və s.)

Yuxarı sağ küncdə avatar üzərinə klikləyin. Elementi seçin " Parametrlər».

Nişanı seçin " Məxfilik" Bloka doğru sürüşdürün " Digər" "İnternetdə səhifəmi kim görə bilər" sətirinin əksinə "" dəyərini təyin edin.

Köhnə VKontakte dizaynınız varsa, aktivdir

" bölməsinə gedirik Mənim parametrlərim", nişanı" Məxfilik" və "İnternetdə səhifəmi kim görə bilər" alt sətirinin əksinə dəyəri təyin edin " Yalnız VKontakte istifadəçiləri».

Hər şeyi düzgün etdiyinizi yoxlamaq üçün aşağıdakıları edin. Menyudan seçin " Mənim səhifəm", sonra " üzərinə basın Çölə çıxmaq».

Bundan sonra aşağıdakı mesaj görünməlidir. " Səhifə yalnız səlahiyyətli istifadəçilər üçün əlçatandır».

VKontakte səhifənizi digər istifadəçilərdən necə bağlamaq olar?

VKontakte iştirakçılarından bütün səhifəni və ya onun bir hissəsini eyni şəkildə bağlaya bilərsiniz - parametrlər bölməsinə, nişana keçərək " Məxfilik" və parametrləri düzgün qurun. (Ən çox mənada " Sadəcə mən"). Hər bir maddə ətraflı təsvir edilmişdir, belə ki, nə üçün məsuliyyət daşıdığını anlaya bilərsiniz.

VKontakte veb saytına daxil olun http://vk.com/. Ünvan çubuğunda (pəncərənin yuxarısında) “/” qoyun və axtarış yazın. Enter düyməsini basın.

Addım 2

Axtarış pəncərəsi açılacaq. Sətirdə səhifəsini axtardığınız şəxsin adını və soyadını daxil edin. Eyni ada sahib bir çox insan varsa, sağdakı inkişaf etmiş axtarış formasını doldurun.

Addım 3

Səhifəyə girib baxırsan. "Səhifə yalnız səlahiyyətli istifadəçilər üçün əlçatandırsa" nə etməli? Bir həll var! Bu adamın kimin dostu olduğunu bilirsinizmi? Əgər belədirsə, bir "orta işçi" tapın. Məsələn, siz Vasya Pupkin üçün axtarış etdiniz və onun "Səhifəsi yalnız səlahiyyətli istifadəçilər üçün əlçatandır". Vasya Ololoshi Ololoyevin dostudur. Beləliklə, bu Ololosha Ololoyevi axtarın.

Addım 4

Onu tapdıqdan sonra dostlar siyahısına baxın. Lazım olan insanı tapmısınız? Onun şəklinin üzərinə sürün və "Böyüt" düyməsini basın. Fotonun altında bunu görəcəksiniz (şəkilə baxın). "Səhifədən Fotolar..." üzərinə klikləyin. Lazım olan şəxsin bütün foto albomları ilə bir pəncərə açılacaq.

Addım 5

Ololoshi Ololoevin səhifəsinə girsəniz, amma dostlarının siyahısı yoxdursa nə etməli? Cavab sadədir: əgər Pupkin onun dostudursa, yəqin ki, xoşuna gəlib. İstənilən şəkli açın və onu bəyənənlərin siyahısına baxın. Lazım olan insanı tapmısınız? Onun şəklinin üzərinə sürün və "Böyüt" düyməsini basın.