Come creare un applicazione per FaceBook (senza librerie php) 51






Quattro anni fa sono stato il primo a scrivere un’articolo in italiano che trattasse la creazione di un’applicazione facebook ( “Come creare un’applicazione per facebook“) Da allora facebook ha cambiato un pò di cose. Questo articolo è un’aggiornamento del precedente.

Per realizzare un’apps facebook abbiamo bisogno di:

  • Un account autenticato su facebook
  • L’applicazione per lo sviluppo di facebook (Facebook Developer). link:
    http://www.facebook.com/developers/
  • Un server con php5 ( è possibile utilizzare qualsiasi linguaggio, ma questa guida è per php)

Una volta soddisfatti questi requisiti possiamo iniziare :

  1. Aprire l’applicazione ‘Facebook Developer’ e cliccare su ‘Setup New App’
  2. Quindi nella nuova schermata aggiungere il nome dell’applicazione, accettare i termini del contratto e proseguire.
  3. Ora dobbiamo impostare le informazioni riguardanti la nostra apps, compilando i campi delle schede (informazioni, Facebook integration)
    – Nella scheda Informazioni :
    Inserire il nome dell’applicazione, una sua descrizione, un’icona, il logo dell’apps, la lingua di base, un’indirizzo email con cui è possibile contattarvi e se volete aggiungere altri sviluppatori o amministratori.
    – Nella scheda Facebook Integration:
    Inserire l’indirizzo della vostra applicazione facebook ‘CANVAS NAME’ ( es: http://apps.facebook.com/<NOMEAPPLICAZIONE>) e l’url dove risiede la vostra apps nel web (http://<VOSTROSITO/CARTELLA>). Ovvero l’url dove è presente il file index.php che stiamo per creare.
  4. Salvare le modifiche e segnare le informazioni della vostra apps (ID Applicazione e App Secret).
  5. Copiare in un cartella del vostro sito la libreria php-sdk (il file facebook.php).
  6. Creare un file index.php dove inserire il seguente codice

 

Ora la nostra applicazione è identificata da due indirizzi:

  • http://www.miosito.it/nomeapplicazione/ : indirizzo di callback (che viene chiamato da facebook direttamente)
  • http://apps.facebook.com/nomeapplicazione/ : indirizzo del applicazione su facebook (canvas url)

Se tutto è andato bene, dovremmo vedere ‘ciao ‘ seguito dal nostro nome.

Attenzione: Nel copiare ed incollare il codice, state attenti agli apici!

Breve spiegazione del codice:

  • le prime 3 righe (2-3-4) impostano le variabili per poter effettuare l’autorizzazione con facebook.
  • la riga 6 carica il codice che facebook passa ad un’applicazione, una volta che l’autenticazione è andata a buon fine (protocollo OAuth 2.0).
  • riga 8 -13 : Se non c’è questo codice non si è autenticati. Quindi nelle rige 9-10 creiamo l’url di autenticazione, passando l’app id e l’app secret e nellariga 12 ricarichiamo la pagina con questo url
  • Arriviamo alla riga 15 solo se siamo autenticati (variabie $code impostata). In questa riga creiamo il token url per ottenere l’access token (riga 19) per effettuare chiamate autorizzare alle GRAPH API
  • Infatti, nella riga 21 effettuiamo una semplice connessione per ottenere i dati dell’utente GRAPH API (/me).
  • I dati sono in json, quindi li decodifichiamo nella variabile $user.
  • A questo punto si mostra il nome dell’utente, presente nell’oggetto ‘user’.
  • extra; Per vedere tutte le informazioni presenti nell’oggetto ‘user’, possiamo fare un semplice debug dell’oggetto : print_r($user);

Ovviamente, questo è solo uno script d’esempio, sa cui partite lo studio.
In futuro scrivero nuovi articoli per utilizzare le Graph Api.

Approfondimenti :
Creare un’applicazione facebook : canvas Page e canvas Url
Creare un applicazione per facebook : Invitare gli amici ed inviare notifiche e messaggi

Link : Gennaro Varriale su Facebook:

Seguimi su twitter : @ironico

51 thoughts on “Come creare un applicazione per FaceBook (senza librerie php)

  1. Reply joe gen 10,2012 10:58

    Buongiorno a tutti…
    Ciao Varriale,
    potreste dare un occhiata al mio sito:
    http://www.forzacatania46.com e vedere cosa non va nell’applicazione FB sulla sidebar che dovrei cambiare prima del 2 febbraio.
    ho notato solo adesso dopo aver letto il tuo articolo che non c’è il nome del sito come id
    grazie

  2. Reply Skiunsibell nov 26,2011 23:33

    Ciao, domanda sciocca, sapresti indicarmi come creare un gioco per facebook da cui poterne guadagnare qualcosa? Grazie ^^

  3. Reply Nicola nov 18,2011 17:02

    l’errore è che non mi autentica (entra nell’if) ma non capisco perchè

  4. Reply jo nov 10,2011 23:34

    Ciao Gennaro
    vorrei sapere come posso realizzare ciò che tu sostanzialmente hai già fatto. Mi spiego: sono riuscita a capire come procedere con l’accesso utilizzando le credenziali di fb ora però vorrei utilizzare quelle credenziali utilizzando la possibilità di effettuare un commento solo a persone autenticate…in parte l’ho fatto ma nn capisco come fare per mantenere i commenti fatti …(l’ho fatto utilizzando js e jquery)

    • Reply Gennaro Varriale nov 18,2011 16:49

      questo dipende da come lo gestisci, come memorizzi l’utente ed i commenti ecc. ecc.
      Se ti riferisci a questo blog, ho semplicemente usato un plugin, con qualche modifica
      (Che tra l’altro dovrei pure aggiornare…).

  5. Reply Davide nov 7,2011 17:31

    ciao Gennaro,
    ho letto con interesse il tuo codice e ho capito perfettamente quello che fa il tuo codice.
    Su un mio sito vorrei implementare una semplice funzione, che mi permetta di ottenere(non so neppure se sia possibile) lo userid di facebook dell’utente che chiama la mia pagina e attraverso questo mostrargli alcuni suoi dati (profile image, nome ecc…), ma senza dovergli chiedere alcuna autorizzazione.
    Non sono interessato ai social plugin, vorrei creare qualcosa di personalizzato, di mio.
    Ho provato con le librerie sdk (esiste una versione sdk per coldfusion identica all’sdk php), ma quando mi collego al mio sito, ho bisogno di dare l’autorizzazione all’applicazione per poter ottenere i dati dall’user object. Vorrei che non ce ne fosse bisogno, ma come ho già detto prima, dopo queste ultime modifiche dell’oauth non so neppure se sia possibile.

    Ti ringrazio in anticipo e ti faccio i complimenti per la tua chiarezza, è molto difficile trovare pagine in italiano che siano chiare sullo sviluppo web.

    • Reply Gennaro Varriale nov 8,2011 13:54

      Ciao Davide,
      non è possibile ricavare l’uid dell’utente senza autorizzazione. Prima era possibile ed è stato sfruttato da varie società per personalizzare banner/ pubblicità per utente.
      Devi per forza di cose far effettuare l’autenticazione ai tuoi utenti, magari una sola volta, per poi chiedergli i permessi off-line.

      • Reply Giovanni nov 18,2011 13:08

        Ciao Gennaro,
        pensavo anche io che fosse così come dici tu ma a quanto pare non lo è…

        Mi sono imbattuto in una pagina che mi da il benvenuto riportando il mio nome e cognome e mi invita a diventare fan.

        Mi chiedo come sia possibile poichè l’oggetto JSON relativo alla variabile signed_request che Facebook invia alla pagina contiene diverse informazioni ma non l’id….

  6. Reply davide ott 19,2011 16:00

    ciao gennaro, ti volevo chiedere una cosa, ma è possibile guadagnare con un’applicazione per facebook?

  7. Reply marzia ott 7,2011 11:06

    ciao vorrei kiederti dato ke non ne so molto d’informatica vorrei capire se e possibile copiare un account e vedere cio ke fa l’altro senza ke se ne accorga se e si potresti spiegarmi come fare

  8. Reply Stefano set 29,2011 10:25

    Ciao, non capisco bene il funzionamento della richiesta delle autorizzazione all’applicazione da parte degli utenti(mi serve unicamente il suo id). Quali sono le procedure da seguire(se riesci con relativo codice) per chiedere tali autorizzazioni? Ho provato diversi link ma non riesco a capire bene cosa devo scrivere nel codice…Grazie

    • Reply Stefano set 30,2011 08:00

      Sono riuscito nell’intento però volevo sapere se era possibile togliere il bottone di login a facebook al primo accesso all’applicazione e utilizzate subito l’oauth per l’autorizzazione una volta si clicca sul tag dell’applicazione.

      grazie

  9. Reply Luca set 19,2011 13:03

    Salve,
    Come faccio a pubblicare un post sulla mia pagina facebook attraverso il mio sito internet?
    (Non uso i feed)

  10. Reply Stefano set 16,2011 21:31

    Ciao…Altra domanda….come mai si hanno problemi di aggiornamento immediato nell’utilizzare il css nelle applicazioni fb? C’è un modo per evitare questo problema?

  11. Reply luca set 12,2011 08:30

    Ho letto che da Ottobre qualsiasi applicazione fb avrà bisogno di un certificato SSL.
    Basta sostituire “Website:Indirizzo del sito” con quello nuovo in https e tutto continua a funzionare tranquillamente?

    • Reply luca set 12,2011 08:51

      “Secure Canvas URL” volevo dire :)

      • Reply Gennaro Varriale set 17,2011 22:54

        Si, se ovviamente hai il certificato SSL sulla macchina.

        • Reply luca set 24,2011 15:51

          Benissimo!!!
          Pensavo di dover cambiare l’sdk-php sotto..di doverla sostituire con la nuova e dover cambiare il codice!!

          Quindi un’app come quella di esempio dell’articolo (sopra), se spostata su un dominio con cetificato, continuerà a funzionare senza problemi…perfetto!
          Grazie davvero!!!

          • Reply Gennaro Varriale set 25,2011 08:43

            Luca , controlla però l’sdk che hai, non puoi più utilizzare la vecchia versione che è stata aggioranta da un bel pò.
            Bisogna utilizzare l’Oauth2 come autenticazione, il nuovo sdk lo fa in automatico.

  12. Reply Stefano set 2,2011 10:16

    Ciao, grazie mille delle tue interessanti guide….Ti volevo chiedere una cosa relativa alla creazione delle applicazioni fb: è possibile, che tu sappia, creare un’applicazione limitata all’uso dei soli tuoi amici? Se si(anche se non penso visto che fb è un mezzo troppo pubblico per far creare applicazioni limitate), in tal caso, avresti qualche traccia/idea da darmi per realizzarla?

    Grazie!

    • Reply Gennaro Varriale set 3,2011 08:08

      Intendi che possano usarla solo i tuoi amici? o solo gli amici di chi la installa?
      La seconda ovviamente è un’assurdo, la prima puoi risolvere con un’ escapotaage.
      1. Memorizza la lista dei tuoi amici in un DB o un file.
      2. Quando l’utente installa l’apps vede una landing page.
      3. Se l’utente appartiene alla lista (da DB da file) allora potrà accedere, altrimenti resta nella landing page.

      • Reply Stefano set 13,2011 14:50

        Si intendevo la prima, grazie….ti chiedo un’altra cosa visto che sei così gentile e preparato. Come faccio a scrivere sulla bacheca della mia pagina(Prodotto/Servizio) che utilizza la mia applicazione(in stile classico delle applicazioni con titolo,caption,link ecc…), dall’applicazione stessa? ho visto cercando in giro che esistono dei modi, ma non riesco a metterli in pratica. Tu mi sapresti dare una mano in questo?

        Grazie

        • Reply Stefano set 14,2011 08:39

          Ho provato a fare questo:
          //new della classe facebook che setta app_id e app_secret
          $fb = new FB(‘publish_stream’);
          // Ottenere l’Application Token
          $site_token = file_get_contents(“https://graph.facebook.com/oauth/access_token?type=client_cred&client_id=”.$app_id.”&client_secret=”.$app_secret);
          $name= “Prova”;
          $link=”…”;
          $description=”Interessante!”;
          $picture=”…”;
          $attachment = array( ‘access_token’ => $site_token,
          ‘name’ => $name,
          ‘link’ => $link,
          ‘description’ => $description,
          ‘picture’ => $picture
          );
          $fb->api(“/xxxID_PAGINA IN CUI POSTARExxxxx/feed”, ‘POST’, $attachment);

          Il risultato è un popup che mi fa fare il login a facebook e quindi entrare nella mia home personale(non della pagina), senza scrivere niente sulla bacheca della pagina. cosa sbaglio?
          In altri post usano la stream.publish, forse devo usare quella? Ma come?

  13. Reply Luca ago 8,2011 16:24

    Ciao,

    credi sia possibile seguendo la ua speigazione creare un’applicazione facebook che permetta di cambiare il nome alle pagine con più di 100 iscritti?
    Grazie mille =)
    Luca

  14. Reply webskey ago 4,2011 08:27

    salve a letto questo articolo e come tanti altri articoli ma non sono riuscito ancora a capire cosa devo impostare come nome aplicazione negli scrpt php, cioè il nome aplicazione lo devo inventare devo crearllo in in qualche paggina del mio accout facebook, ho dell mio spazzio web che devo creare un app per facebook, il mio unico interesse in questa cosa e avere un mi piace sul mio sito web simile a questa paggina con il mio logo e la mia paggina di facebook…
    ps la ringrazzio anticipatamente della risposta e dell aiuto

  15. Reply alain lug 20,2011 11:05

    Scusate ma dove si scarica la libreria php5 per facebook?

  16. Reply claudia lug 18,2011 12:14

    ciao sto cercando di eseguire le tue istruzioni per creare un applicazione per FaceBook.
    Non riesco a procedere oltre il passo 3 quello in cui scrivi di impostare le informazioni riguardanti la nostra apps, compilando i campi delle schede (informazioni, Facebook integration)…
    Infatti dopo aver cliccato sul pulsante con scritto + crea applicazione
    (finestra di dialogo New App)
    scrivo il nome della applicazione,
    seleziono su accetto le condizioni
    clicco su continua
    digito dentro Controllo di sicurezza il testo captha
    Appena do invio con il testo ricopiato compare la scritta ” tuo account deve essere verificato prima di poter fare questa azione. Per favore, verifica il tuo account inserendo il tuo mobile phone o la credit card. ”
    Cosa devo fare ??
    Se clicco su mobile phone chiede
    Inserisci il codice di conferma che ti è stato inviato sul cellulare.
    io non ho questo codice e non so come richiederlo
    non so dove sbattere la testa per continuare
    Spero davvero tu possa spiegarmi come andare avanti
    Claudia

    • Reply Gennaro Varriale lug 19,2011 10:54

      Ciao Claudia,
      per realizzare apps bisogna possedere un’account facebook verificato.
      Se non ti arriva il codice sul celluare è perchè FB ha problemi con i gestori italiani. Per risolvere devi associare la tua carta di credito.
      Dovresti farlo in account, se non ricordo male.

  17. Reply alessandra lug 2,2011 06:17

    Ciao Gennaro,

    Inanzitutto ti ringrazio moltissimo per quello che fai. Vorrei chiederti una cosa. Come si fa a mettere su una pagina fb l’applicazione multi friend selector? :/ io ci capisco ben poco! :/ ah, si e grazie con tutto il cuore in anticipo! Ale

  18. Reply Luigino giu 11,2011 15:45

    allora io vorrei modificare un gioco che gia ci sta come faccio?

  19. Reply Davide mag 27,2011 17:33

    Ciao! Innanzitutto grazie mille per l’ottima guida. Purtroppo ho riscontrato questo problema, una volta effettuata l’autenticazione mi da questo errore, failed to open stream: No such file or directory. A cosa potrebbe essere dovuto?

    • Reply Gennaro Varriale mag 28,2011 09:17

      l’errore indica problemi nell’apertura di uno stream. Se hai eseguito il mio codice questo può avvenire o nella riga 15 o 23.
      Vedi quale delle due, e cerca di capire cosa sbagli.
      Per farlo fai un debug delle variabili prima di utilizzare, per esempio per la riga 19:
      aggiungi nella riga 18 : echo “Url per token : “.$token_url ;
      dovrebbe visualizzarti un url corretto per autenticare, che puoi eseguire anche nel browser.

  20. Reply Nicola Barbi mag 4,2011 08:48

    Ho creato l’applicazione passo per passo, ma mi risulta solo il “ciao” e non il nome utente!
    salute

  21. Reply nicola mag 3,2011 14:06

    Ciao, ho seguito passo passo il tuo articolo. Ora ho l’applicazione che, secondo quel che ho capito, dovrebbe riproporre nella Canvas quello che avviene sul mio sito web, con i files php che sono sul sito, copiati nella directory web /apps del mio sito come hai scritto.
    Se l’applicazione prevede che venga eseguito una query di un .php che richiama un DBase ( del mio sito web) questo dovrebbe funzionare, giusto? Inoltre richiede la presenza del secure tab url, ma il mio hosting non è in https… Sto navigando nel buio…

    • Reply Gennaro Varriale mag 4,2011 07:59

      L’articolo è inteso per ottenere le basi per la creazione corretta di un’ apps su facebook. Non ho scritto di caricare un sito web, infatti l’obiettivo di questo articolo è di ottenere nel canvas semplicemente il nome dell’utente…
      Non è necessario inserire un secure url, infatti nell’articolo non ne ho parlato ;)

      • Reply nicola mag 4,2011 13:14

        ok, allora scendo nel particolare…
        diciamo che il core in php del mio sito web, dovrebbe riproporsi nella canvas dell’app di Facebook. e’ possibile questa cosa?

        • Reply Gennaro Varriale mag 5,2011 08:35

          Devi adattare il tuo sito, a meno che tu non voglia semplicemente “inglobarlo” in un iframe. Per adattarlo, bisogna lavorare su varie cose, dipendenti dalla grafica e dalla interazione del sito con la piattaforma

  22. Reply Salvatore mag 1,2011 13:55

    Ciao!
    Non riesco a creare una nuova applicazione, dopo l’inserimento del nome, aver accettato le condizioni e infine aver messo il codice del controllo di sicurezza, mi da questo messaggio “Sorry, something went wrong.We’re working on getting this fixed as soon as we can.”

    Succede solo a me?AIUTO PLEASE!!

  23. Pingback: Come creare un applicazione per FaceBook | Gennaro Varriale

Leave a Reply to Nicola Barbi Cancel Reply

  

  

  

Per essere informato sui miei contenuti - Email: