Api «Vkontakte“ aplicații iframe-dezvoltare
Luați în considerare separat fiecare opțiune.
metoda - metoda efectivă API «VKontakte», pe care dorim să o apelați. În acest caz, isAppUser.
sig - cerere semnătură. Obligatoriu pentru toate cererile, cu excepția testului, care va fi discutat mai târziu. Semnătura este un hash calculat prin algoritmul MD5, rândul având un format viewer_idname1 = value1name2 = value2secret.
Aici 5042864 - ID de utilizator care lucrează în prezent cu cererea, și anume, a ta ...
Heg54Jhgp4 - cheia privată așa-numitele. Aflați, și dacă trebuie să modificați și valoarea poate fi în pagina de setări ale aplicației. Aici trebuie remarcat faptul că această cheie, în ciuda numelui său, nu este nici un secret, ci mai degrabă contrariul. Acesta este special creat pentru a semna cererile de pe client, și, astfel, ar putea fi disponibile pentru orice utilizator. Ea nu are nevoie să-ți fie frică. Faptul este că, indiferent de cerere API sau atacatorul a format, acesta va fi capabil să-l efectueze numai în numele meu! Este aici și deschis tot timpul de transfer de fișiere beneficii cookie-uri atunci când se utilizează API-ul pe partea de client.
La calcularea semnăturilor trebuie să-și amintească importante caracteristici: nume de setări = valoare sunt în linie pentru calculul semnăturii sunt sortate în ordine alfabetică după nume nume ascendent.
Cu șiruri de interogare pare să fie sortate. Acum trebuie să găsim o cale să-l treacă la server „VKontakte“. Obiectul XMLHttpRequest, frecvent utilizate pentru transmisia de date asincron, are o limită greu: nu are suport pentru interogări încrucișate sursă. Mai devreme am vorbit despre JSONP - acum să-l văd în acțiune! Dacă doriți să trimiteți linia noastră de anchetă pe server „VKontakte“, este necesar ca, în pagina HTML-cod al aplicației a apărut aici un astfel de cod:
Dar, după cum știți, serverul „VKontakte“, ca răspuns la metoda de apeluri API returnează un răspuns în format XML sau JSON, care depinde de formatul de parametri. În acest exemplu, răspunsul va veni în format JSON, și este acest lucru:
Ce se întâmplă atunci când un bază aplicații document HTML va fi conectat script-ul de acest fel? Răspunsul este simplu - nimic! Nu putem profita de aceste date. Dar nu totul este pierdut: ajutorul vine parametrul de apel invers. La urma urmei, dacă această opțiune este prezentă în șirul de interogare cu parametrul format egal cu JSON, un răspuns de la server „VKontakte“ vine într-un format ușor diferit. Pentru acest exemplu, răspunsul ar fi:
Și din performanța codului, vom putea obține niște dividende. La urma urmei, dacă suntem undeva declarăm funcția parseJSON () înainte de a apela metoda API, ca parametru său va primi răspunsul „VKontakte“ server, care deja va fi în măsură să profite de. Funcția de mai jos exemplul parseJSON () spune pur și simplu utilizatorul dacă acesta este instalat.
Adunând toate cele de mai sus, încercați să provoace metoda isAppUser atunci când utilizatorul face clic pe link-ul (a se vedea. Listarea 2).
1 2 3 4