Site icon Noir Solutions

Creare Applicazioni facebook con le API SDK PHP

Oggi giorno è diventato una modo  molto comune per permettere ai visitatori del tuo sito per connettersi con le proprie credenziali  a facebook usare il pulsante “Connect with Facebook” o “Accedi con Facebook”. Facebook Connect consente agli utenti di fornire le autorizzazioni di siti web per accedere ai propri dati, come il sesso, id-mail, data di nascita, ecc.  Ci sono siti web che tengono anche il permesso di leggere i feed tutta la news dell’utente e anche di pubblicare aggiornamenti di stato sui muri degli utenti . Facebook Connect è stato intorno dal 2008. In questo post pubblichiamo il Tutorial per integrare database basato Facebook Connect al tuo sito

 

 

Facebook ha rilasciato varie SDK (Software Development Kit), come SDK Javascript, PHP SDK e anche SDK per Android e iOS. Dal momento che sono distribuzioni libere ci  sono già varie versioni in circolazione , ma la legislazione di  facebook  e molto ferrea e continua a cambiare molte delle sue configurazioni e come Facebook Connect  non sempre vi potrebbe funzionare. Ci sono molti tutorial su Facebook Connect in tutto il web. Ma il problema è appunto che molti sono obsoleti,  in alcuni file sono presenti errori, mentre alcuni non forniscono la funzionalità che proprietari di siti web hanno bisogno.  Questo Tutorial si propone di venire incontro a tutte queste esigente, ma ci pare ovvio alla base delle premesse fatte che anche qui ci saranno  delle mancanze sia volute, nel senso che un tutorial che comprenda tutto è impossibile da realizzare, sia dovute al fatto che facebook nel momento in cui sta

In questo tutorial si dovrebbe imparare a

 

Scaricare SDK PHP

 

Scarica l’SDK PHP da GitHub si avrebbe solo bisogno la cartella src di questo SDK. Se si vuole si può scartare gli altri file. Dopo aver scaricato l’SDK è necessario creare la tabella per memorizzare tutti i dati degli utenti che utilizzano il “Connect with Facebook” sul tuo sito. In questo esempio sto utilizzando l’ID di campi, nome, e-mail, sesso, Bio e se l’utente si è registrato da facebook

 

  1. CREATE TABLE `newmember` (  
  2. `id` BIGINT( 20 ) UNSIGNED NOT NULL AUTO_INCREMENT ,  
  3. `name` VARCHAR( 255 ) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL ,  
  4. `email` VARCHAR( 255 ) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL ,  
  5. `gender` VARCHAR( 10 ) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL ,  
  6. `bio` TEXT CHARACTER SET latin1 COLLATE latin1_swedish_ci ,  
  7. `face` VARCHAR( 10 ) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL ,  
  8. PRIMARY KEY ( `id` )  
  9. )  

 

Creare l’applicazione su Facebook

 

Il secondo passo è quello di creare l’applicazione su Facebook. Questo viene fatto per ottenere l’ID App e il Secret Key dell’ applicazione. Quindi, prima andare su http://developers.facebook.com/apps, si potrebbe incontrare una finestra in cui l’applicazione sviluppatore sta chiedendo il permesso di accedere ad alcune delle informazioni di base, tipo messaggio sms o Captcha credo che adesso abbiano messo anche una politica sulla privacy e anche i termini insomma dovrete sicuramente fare qualche operazione.

 

 

 

 

La creazione dell’APP

Ora, sul lato in alto a destra clicca su “Crea nuova app”.

 

 

Ora una finestra simile a quella in basso si potrebbe aprire modello pop-up. Qui è necessario inserire il nome che si desidera la vostra App per la vostra App.e altre domande alcune dovrebbero essere facoltative, usiamo sempre il condizionale in quanto facebook cambia in continuazione e  quindi è probabile che non troviate quello che vediamo noi in questo momento.

 

Indirzzo Url della tua applicazione http e https

 

Qui è necessario aggiungere i dettagli della tua app. Inserire qui il nome del dominio, l’indirizzo email, la categoria delle app. Allora avete bisogno di parlare di come si sta andando a integrare la tua app con i tuoi amici con il sito web, o se la vostra applicazione è su facebook, o per cellulari. Abbiamo bisogno di fare clic su sito web. Qui abbiamo bisogno di aggiungere l’URL dove stiamo andando per consentire il “Connect with Facebook”. Cliccate poi su “Salva modifiche”. Otterrete cosi’ l’ID App e  la tua Key Secret in alto. Salva questi per un ulteriore uso.

 

 

Inserimento Chiave Segreta e Applicazione

 

Per prima cosa creare il file principale di connessione. Creare un file denominato ‘fbconnect.php’. Ora, per salvare i dati degli utenti facebook nel database e utilizzare tali dati per la nostra applicazione dobbiamo fare in modo che questo file sia accessibile solo quando le variabili di sessione in questione non sono impostate.

Si fa in questa maniera

    if(!isset($_SESSION[‘user’])) 

    { 

        $app_id        = “The App ID goes here”; 

        $app_secret    = “The App secret goes here”; 

        $site_url    = “The Site URL goes here”; 

 

Insomma quasi piu’ facile a farsi che a dirsi come potete vedere

 

 

La funzione getUser()

 

Poi abbiamo bisogno di includere il file ‘facebook.php’, che è presente nella cartella src che abbiamo ottenuto con l’ SDK PHP  il file zip che avete scaricato all’inizio. Poi, ci sono la creazione di un’istanza di Facebook fornendo le 2 variabili, app_secret $ app_id e $. Poi, per verificare se l’utente è collegato a Facebook o non si può usare il getUser () che restituisce l’id utente dell’utente connesso. Se l’utente non è connesso in poi la variabile $ user conterrà  il valore 0. Avremmo bisogno del token di accesso dell’utente di andare avanti con la connessione.

  1. include “src/facebook.php”;  
  2. $facebook = new Facebook(array(  
  3.     ‘appId’        => $app_id,  
  4.     ‘secret’    => $app_secret,  
  5.     ));
  6. $user = $facebook->getUser();  

 

 

 

Il login e il logout

 

Quindi, abbiamo bisogno di ottenere l’URL di login e logout. Per ottenere il logout URL è necessario chiamare il getLogoutUrl () la funzione. Per ottenere l’URL di accesso login è necessario chiamare il getLoginUrl () la funzione.

Si potrebbe anche definire l’URL in cui l’utente sarà reindirizzato dopo il login e logout. Con la funzione getLoginUrl () è possibile specificare le autorizzazioni specifiche che si desidera che l’utente che vi conceda. Queste autorizzazioni possono essere specificate nella variabile portata. Qui di seguito, chiedo all’utente le sue informazioni di base come su di lui ed e-mail. Inoltre, per il processo di apprendimento sono comprese le autorizzazioni e read_stream publish_stream che permetterebbero la nostra applicazione di leggere la news feed dell’utente e anche darci il permesso di pubblicare qualcosa al suo muro.

  1. if($user){  
  2.     // Get logout URL  
  3.     $logoutUrl = $facebook->getLogoutUrl();  
  4. }else{  
  5.     // Get login URL  
  6.     $loginUrl = $facebook->getLoginUrl(array(  
  7.         ‘scope’            => ‘read_stream, publish_stream, user_about_me, email’,  
  8.         ‘redirect_uri’    => $site_url,  
  9.         ));  
  10. }  

Le Api me e Friends di Facebook

 

Ora, se l’utente connesso al suo account Facebook allora abbiamo bisogno di sapere se l’utente è connesso nella nostra applicazione o no, perché l’accesso a Facebook e la registrazione nella nostra applicazione facebook sono due cose totalmente diverse. Lo facciamo cercando di recuperare il profilo dell’utente.

Per recuperare il profilo è necessario chiamare la funzione di Facebook ‘api’. Per questo è necessario passare il parametro ‘/ me’. Questo ti darebbe le informazioni di base sull’utente. Si potrebbe chiamare qualsiasi cosa utilizzando la funzione API , ad esempio per ottenere le foto che si potrebbe passare il parametro ‘‘/me/photos’, ‘/me/friends’  per la lista  dei nostri amici . Se si desidera richiedere molte cose in una sola volta chiamando la funzione ‘api’ ancora e ancora potrebbe rallentare l’applicazione in modo invece si potrebbe optare per l’elaborazione in batch con JSON, magari aggiungeremo qualcosa in una delle prossime guide che realizzeremo

 

  1. if($user){  
  2.     try{  
  3.         $user_profile = $facebook->api(‘/me’);  

Facendo un print_r () sulla variabile $ user_profile si dovrebbe vedere , nel caso che sia andato tutto bene una  matrice contenente tutti i dati dell’utente. Si potrebbe facilmente usare qualsiasi di queste informazioni nella vostra applicazione.

 

La memorizzazione dei dati da Facebook

Ora, come abbiamo collegato gli utenti facebook con la nostra applicazione, abbiamo bisogno di verificare se l’e-mail degli utenti id è già presente nel nostro database o meno. Se è presente, allora si avrebbe avviato le variabili di sessione direttamente e in caso contrario, ci sarebbe prima di tutto inserire i dettagli dell’utente, come il nome, id-mail, sesso nel nostro database e quindi inizializzare le variabili di sessione.

 

Se già conoscete un po’ di PHP e Mysql sicuramente quello che vi andiamo a scrivere adesso non vi produrrà eccessivi fastidi diciamo.

 

  1. $con=mysql_connect(“Your Host Name”,”Your User Name”,”Your Password”);  
  2. if(!$con)  
  3. {  
  4.     die(“Could not connect to MySQL”);  
  5. }  
  6. mysql_select_db(“Your Database Name”,$con) or die (“could not open database”);  
  7. $name = “‘” . $user_profile[‘name’] . “‘”;  
  8. $email = “‘” . $user_profile[’email’] . “‘”;  
  9. $gender = “‘” . $user_profile[‘gender’] . “‘”;  
  10. $bio = GetSQLValueString($user_profile[‘bio’], “text”);  
  11. $query = sprintf(“SELECT * FROM new WHERE email = %s”,$email);  
  12. $res = mysql_query($query) or die(‘Query failed: ‘ . mysql_error() . “<br>\n$sql”);  
  13. if(mysql_num_rows($res) == 0)  
  14. {  
  15.     $iquery = sprintf(“INSERT INTO newmember values(”,%s,%s,%s,%s,’yes’)”,$name,$email,$gender,$bio);  
  16.     $ires = mysql_query($iquery) or die(‘Query failed: ‘ . mysql_error() . “<br>\n$sql”);  
  17.     $_SESSION[‘user’] = $user_profile[’email’];  
  18. }  
  19. else  
  20. {  
  21.     $row = mysql_fetch_array($res);  
  22.     $_SESSION[‘user’] = $row[’email’];  
  23. }  

 

 

 

 

La creazione del file indice

 

Ora abbiamo bisogno di creare ‘index.php’ la nostra pagina principale Questa è la pagina in cui il pulsante “Connect with Facebook” deve apparire. Questa è anche la pagina in cui i dettagli dell’utente che ha appena effettuato l’accesso con il Facebook  appaiono. In primo luogo abbiamo bisogno di includere il ‘fbconnect.php’ e il file ‘common.php’.  Ovviamente se la sessione è iniziata, i dati anagrafici dell’utente verranno visulizzati

 

session_start (); 

sono  “common.php” ; 

include_once  “fbconnect.php” ; 

se  (isset ( $ _SESSION [ ‘user’ ])) 

echo  ‘href=”logout.php”> <a Esci </ a>’ ; 

altro 

echo  ‘<a href=”$loginUrl”> Accedi </ a>’ ; 

se (! isset ( $ _SESSION [ ‘user’ ])) 

    echo  ‘<a href=”$loginUrl”> <img src=”images/f-connect.png” alt=”Connect al Account”> Facebook </ a>’ 

altro 

    $ Email  =  “‘”  .  $ _SESSION [‘user ‘]. “‘ “; 

    $ Query  = sprintf ( “SELECT * FROM NuovoMembro WHERE email =% s” , $ email ); 

    $ Res  = mysql_query ( $ query )  o  morire ( ‘query non riuscita:’  .. mysql_error ()  “<br> \ n $ sql” ); 

    $ Riga  = mysql_fetch_array ( $ res ); 

    echo  $ riga [ ‘name’ ]; 

    echo  “<b> GENERE: </ b>”  .  $ riga [ ‘genere’ ]; 

    echo  “EMAIL <b>: </ b>”  .  $ riga [ ’email’ ]; 

 

 

 

Ci rendiamo conto che abbiamo introdotto anche un po’ di PHP, ma insomma nulla di particolarmente trascendentale che non possiate trovare in qualche breve guida di facebook

 

Il Logout

 

 

Ora, abbiamo bisogno di creare il file logout.php. La disconnessione URL che facebook crea ha un piccolo problema. Quando si utilizza l’URL per effettuare il logout, non si ottiene solo  la disconnessione, ma anche  quella da facebook, che è qualcosa che non vogliamo che accada.  Vediamo quindi come ovviare a questo problema.  E’ necessario sostituire il  {Your App ID}’ with your own app ID per queste  3 variabili di sessione.

 

 

CAMBIAMENTI FINALE

Creare il database e la tabella – “newmember” con i campi obbligatori

Common.php aperto e mettere il vostro nome host, nome utente, password e nome del database

Fbconnect.php aperto e mettere il vostro ID App, App Secert, URL del sito

Logout.php aperto e sostituire {} Your_App_ID con il tuo ID App

Questo dovrebbe essere! Effettuare tutte le modifiche di cui sopra potrebbe facilmente ottenere il vostro Facebook Connect lavoro. Se ci sono dei dubbi fatemi sapere nella sezione commenti. Vorrei cercare di risolvere tutti i vostri problemi!

Exit mobile version