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) (scenariu de eveniment) Autorizarea pe site folosind Facebook (php sdk)](https://images-on-off.com/images/155/avtorizatsiyanasaytespomoshyufacebookphp-945274cd.png)
![Autorizarea pe site folosind Facebook (php sdk) (php sdk) Autorizarea pe site folosind Facebook (php sdk)](https://images-on-off.com/images/155/avtorizatsiyanasaytespomoshyufacebookphp-a773628c.png)
Î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) (facebook) Autorizarea pe site folosind Facebook (php sdk)](https://images-on-off.com/images/155/avtorizatsiyanasaytespomoshyufacebookphp-d8c5e05a.png)
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) (odihna api) Autorizarea pe site folosind Facebook (php sdk)](https://images-on-off.com/images/155/avtorizatsiyanasaytespomoshyufacebookphp-7ec0b7ba.png)
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) (utilizator) Autorizarea pe site folosind Facebook (php sdk)](https://images-on-off.com/images/155/avtorizatsiyanasaytespomoshyufacebookphp-0179460f.png)
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 /
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: