Autorizarea pe site folosind Facebook (php sdk)

Informațiile din acest articol sunt învechite și sunt irelevante.

Pasul unu: Instalarea

Creați o bază de date.

Să începem prin crearea unui tabel în baza de date:

Creați o aplicație pe Facebook.

Autorizarea pe site folosind Facebook (php sdk)
Obțineți cheia API pentru o nouă aplicație







Autorizarea pe site folosind Facebook (php sdk)
Specificați URL-ul Canvas și adresa URL de redirecționare post-autorizare

În câmpurile din secțiunea "Conexiune", completați câmpul "Conectare URL" - valoarea sa ar trebui să fie aceeași ca în câmpurile deja completate, iar în câmpul Domeniu de bază, specificați localhost.com.

Autorizarea pe site folosind Facebook (php sdk)
Specificați URL-ul de conectare

După salvarea setărilor aplicației, trebuie să descărcați biblioteca SDK PHP și să extrageți fișierul facebook.php din arhivă într-un director nou din dosarul rădăcină al site-ului.

Salvați acest cod în fișierul numit login_facebook.php în dosarul rădăcină al site-ului și îl deschideți în browser. Dacă ați terminat corect, veți fi redirecționat către facebook.com și veți vedea un formular pentru solicitarea drepturilor de acces pentru aplicație în profilul dvs.

Autorizarea pe site folosind Facebook (php sdk)
Solicitați dreptul de acces al unei aplicații la profilul dvs.

Acest lucru nu se poate întâmpla din mai multe motive: primul scenariu - ați fost redirecționat către facebook.com. dar au văzut pagina cu o eroare. Soluția poate fi următoarea: încercați să verificați datele din setările aplicației - toate câmpurile sunt completate. Cel de-al doilea scenariu: ați văzut o eroare de genul: "Problema certificatului CurlException: 60: SSL, verificați dacă certificatul CA este OK. “. Aceasta se datorează, probabil, setărilor CURL incorecte. Pentru a rezolva acest lucru, deschideți fișierul base_facebook.php din SDK-ul PHP și găsiți metoda makeRequest () în el.

În ea, imediat după linie:

Adăugați următoarea linie:

Aceasta, desigur, este o abordare incorectă: adăugați-vă codul la fișierele bibliotecii, dar nu există altă modalitate de a rezolva această problemă.

Să continuăm cu înregistrarea utilizatorului: am plasat exemplul de cod în blocul try / catch - acest lucru sa făcut pentru a preveni apariția unei erori, în cazul valorilor cheie învechite din adresa URL curentă.







Acum vom efectua operațiuni cu baza de date. Rețineți că nu voi procesa datele înainte de a le salva în baza de date, pentru a reduce cantitatea de cod din exemple. Țineți minte acest lucru și asigurați-vă că procesați datele primite de la utilizator înainte de a le salva în baza de date.

Creați o conexiune la baza de date:

Credem că în exemplul nostru sesiunea este activă.

O soluție bună atunci când creați o tabelă în baza de date este să atribuiți câmpului oauth_provider tipul ENUM.

Acum, în rezultatul variabilei $ - există o matrice cu datele primite din baza de date. Să salvăm o parte din ei în sesiune. Adăugați următorul cod în primul rând al scriptului dvs.:

După blocul condițional cu verificarea if (gol ($ rezultat)), adăugați următorul cod:

Pentru a afișa numele de utilizator, adăugați următoarele linii la script:

Pasul patru: folosim funcții suplimentare

După ce ați obținut drepturi de acces la profil, aplicația are o mulțime de ocazii de a interacționa cu profilul, vă voi atrage atenția asupra celor 4 mai utile:

FQL sau Graph API

În opinia mea, FQL este mai flexibil decât Graph API și este mai ușor de utilizat. Din fericire, Facebook încă permite dezvoltatorilor să o folosească, în ciuda faptului că există mici modificări în noua bibliotecă.

Aflați despre toate câmpurile acceptate de metoda users.getInfo ().

Acelasi rezultat poate fi obtinut folosind FQL:

Această pagină oferă o listă completă de tabele, acces la care este posibil cu FQL. și câmpurile disponibile cu datele utilizatorului.

Drepturi extinse

Puteți vedea lista completă a drepturilor. Rețineți că este posibil să specificați 2 url pentru a reveni la site-ul dvs.: unul - în cazul în care utilizatorul acordă aplicației drepturile necesare, iar celălalt - în caz contrar. Pentru a face acest lucru, utilizați tastele matricei următoare și respectiv cansel_url.

Autorizarea pe site folosind Facebook (php sdk)
Cerere prin cerere extinsă

Verificați dacă aplicația are drepturi extinse.

În orice moment, utilizatorul poate dezactiva drepturile avansate ale aplicației. Prin urmare, cererea ar trebui să verifice existența drepturilor necesare înainte de a întreprinde acțiuni, mai ales dacă acțiunile sunt legate de publicarea unui lucru. Pentru testare vom folosi API-ul REST.

În acest moment, API-ul REST este depreciat, astfel încât metoda users.hasAppPermission acceptă verificarea unei liste incomplete de drepturi.

Publicăm un mesaj pe "peretele" utilizatorului.

De fapt, am sunat la interfața API // feed folosind metoda POST (al doilea parametru al metodei facebook :: api), trecând textul mesajului (al treilea parametru în metoda facebook :: api). Al treilea parametru (numele cheii de matrice) poate fi nu numai valoarea "mesaj", ci și "link", "imagine", "capțiune", "descriere".

Publicăm un mesaj pe peretele utilizatorului

Informații suplimentare care pot fi utile:

  • Utilizatorul va putea să elimine aplicația din pagina cu setările aplicației. dând clic pe [×] din partea dreaptă a numelui aplicației.
  • Pe pagina de setări a aplicației, utilizatorul poate șterge separat drepturile acordate aplicației

concluzie

Traducerea - Zemskov Matvey

Informațiile din acest articol sunt învechite și sunt irelevante.

Vă ofer următoarele servicii:

  • Amenajarea șablonului site-ului din aspectul de proiectare pentru CMS "1C-Bitrix Site Management" și CMS "Joomla"
  • Crearea unor forme de complexitate variabilă (feedback, chestionare etc.) pentru CMS specificat
  • Personalizarea și personalizarea componentelor și modulelor pentru CMS specificat
  • Modificarea modulelor și a componentelor pentru CMS specificat, adăugarea de funcții non-standard
  • Dezvoltarea paginilor de aterizare (pagini de aterizare)

Dacă aveți întrebări, contactați-ne prin formularul de feedback.

Vă ofer atenția:







Articole similare

Trimiteți-le prietenilor: