Come creare un applicazione per FaceBook - -oldpost-





In quest’ultima settimana ho studiato le api di facebook e ho incominciato a giocherellare creando qualche applicazione. Ho notato però, che in rete non c’è molta documentazione, specialmente in italiano. Per realizzare un’applicazione per facebook abbiamo bisogno di :

  • Un account su facebook
  • L’applicazione per lo sviluppo di facebook (Facebook Developer).
    Per installarla fare click su ‘Add Facebook Developer Application’
  • Un server con php5 Se non lo abbiamo, si può utilizzare un server gratuito
  • La libreria per php5 di facebook.

UPDATE : Versione aggiornata dell’articolo su : Come creare un applicazione per FaceBook (senza librerie php)

Una volta soddisfatti questi requisiti possiamo iniziare :


  1. Aprire l’applicazione ‘Facebook Developer’ e cliccare su ‘Setup New Application’ f01
  2. Quindi nella nuova schermata aggiungere il nome dell’applicazione (1) , accettare i termini del contratto e cliccare sul link ‘Optional Fields’ (2) per aprire un nuovo pannello per inserire il resto delle informazioni
    f02
  3. Nella sezione ‘Optional Fields’ inserire
    1 ) l’indirizzo di callback , ovvero l’indirizzo dove risiede la nostra applicazione, qualcosa tipo www.miosito.it/nomeapplicazione/
    2) il nome che identifica l’applicazione in facebook (può coincidere con quello della tua applicazione, se non è stato già assegnato)
    3) Selezionare some tipo di applicazione ‘Web Site’
    4) Selezionare ‘YES’ per indicare a Facebook, che la tua applicazione può essere aggiunta dagli utenti.
    Quest’ultima opzione aprirà una nuova sezione da riempire
    f03
  4. Nella nuova sezione riempire solo i seguenti campi:
    1)Inserire il link a cui gli utenti verranno indirizzati dopo aver aggiunto la nostra applicazione ovvero : http://apps.facebook.com/nomeapplicazione
    2)Inserire un testo che vogliamo venga visualizzato nel profilo utente se non è specificato dalla nostra applicazione (es. ‘Ciao Mondo’)
    3)Inserire il link della nostra applicazione su facebook ovvero : http://apps.facebook.com/nomeapplicazione
    4) lasciamo gli altri campi invariati e clicchiamo su ‘Submit’
    f04

A questo punto la nostra applicazione è stata creata e FaceBook gli assegnato dei valori che dobbiamo segnarci, perchè dobbiamo inserirli nel nostro programmino presente sul nostro server. I valori sono la chiave dell’applicazione (API KEY) ed un numero segreto (SECRET). Per vedere questi valori andare nella lista delle ‘mie applicazioni

Ora dobbiamo creare la nostra applicazione vera e propria, per farlo scarichiamo la libreria php5 per facebook , e copiamo il file facebook.php sul nostro sito e creiamo due file : ‘appinclude.php’ e ‘index.php

appinclude.php

ovviamente inseriamo i valori della chiave dell’applicazione (API KEY), il numero segreto (SECRET) e l’indirizzo corretto del nostro sito.


index.php

Il nucleo della nostra applicazione e tutto nel file index.php, per ora ci limitiamo a scrivere un breve messagio, nei successivi articoli, vedremo di creare qualcosa di più interessante.

Ora la nostra applicazione è identificata da due indirizzi:

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

Per provarla utilizziamo uno dei due indirizzi ed aggiungiamo l’applicazione al nostro account facebook.
Se tutto è andato bene, dovremmo vedere ‘ciao ‘ seguito dal nostro nome, mentre se andiamo nel nostro profilo vi sarà una nuova sezione ‘nomeapplicazione’ con all’interno il messaggio ‘Ciao Mondo’.

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

Link : Gennaro Varriale su Facebook:

 

375 thoughts on “Come creare un applicazione per FaceBook - -oldpost-

  1. Ciao gennaro rieccomi all’attacco, giuro che questo è l’ultimo mesaggi che ti scrivo, e che spero di risolvere dunque stamattina entrando sulla mia app ho notato che: inserendo il nome, e facendo invia mi esce fuori questo errore:

    Warning: Missing argument 3 for FacebookRestClient::notifications_send(), called in /home/tetrislo/public_html/tetris-love/lib.php on line 52 and defined in /home/tetrislo/public_html/tetris-love/lib/client/facebookapi_php5_restlib.php on line 1412

    Fatal error: Call to undefined method FacebookRestClient::feed_publishActionOfUser() in /home/tetrislo/public_html/tetris-love/lib.php on line 58

    Spero che tu mi aiuti dicendom iqualcosa e come eventualmente posso risolverlo!

  2. nel mentre stavo aspettando ho provato uno script, e ricevo un errore, gennaro sai mica questo errore a cosa può essere dovuto:

    Invalid query — SELECT * FROM questions LIMIT 0, — You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ” at line 1

      1. dunque premetto che utilizzo phpmyadmin, ed o creato tutto quanto, gli apici al momento della creazione guardando sù phpmyadmin non ci sono risulta la tabella question. mentre per il limite non sò dove controllare suggerimento?

        1. la mia risposta si basava sulla query che mi hai indicato e l’errore da te riportato. Prova
          1. SELECT * FROM questions ==> funge? ok vai avanti altrimenti, niente tabella o problemi mysql…
          2. SELECT * FROM questions LIMIT 10 ==> ok? mostra i primi 10
          ecc. ecc. vai avanti in questo modo.

  3. prima di tutto complimenti, non è facile come dicevi trovare italianità tecnica nel web e perciò sono a chiederle una spintarella se possibile!
    ho il medesimo problema di chi diceva funziona tutto ma non vedo niente, in realtà quello che ho fatto con le sue indicazioni funziona, ma io vorrei aggiungere un file swf dentro ad index.php
    ho provato con echo”; con ; con l’inserimento del php dentro ad html (forse sbagliando in questo caso), l’unica cosa che ho ottenuto è che mi chiede l’aggiornamento del player di flash, in realtà non funziona perchè si doveva vedere comunque qualcosa all’indirizzo del mio server.
    se ha qualche indicazione da darmi, sono tutt’orecchi.

    1. Pochi post sotto è sucesso anche a me la stessa identica cosa, e in un post di ieri (che non riesco a capire il perchè non mi ha pubblicato spiegavo quanto segue!

      il problema era che io utilizavo as4 (Adobe CS4) e non sono portato, ho provato e scaricato flex (noto programma) con qui è stato creato anche farm ville, ho provato a creare un animazione con esso, importare un Loaderswf (file esterno dentro di esso) e adesso magicamente si visualiza il tutto! forze la strada più complicata, ma per quello che serve a me và più che bene!

      se ti serve una mano, e vuoi aprofondire, scambiare consigli, non voglio rubare nulla a gennaro ma io sono disponibile, cercami sù facebook con il nome del mio post! specificami con unmesaggio chi sei! Grazie!

  4. Dunque gennaro rieccomi all’attacco, scusa se ti rompo, dunque volevo chiederti due cosette, ho creato una banalissima animazione in flash, senza troppi fronzoli, e nemmeno impostando action script complessi, o librerie action script, vorrei solo far visualizare tale animazione (estenzione swf) all’interno della index.php della mia applicazione!

    il codice che utilizzo è:

    appena accedo all’applicazione, se non ho la giusta versione del flash player ricevo un avviso di aggiornamento, ma se lo aggiorno, vedo l’animazione in bianco, e non si visualizza come mai?

    1. Purtroppo nel commento non riesco a vedere il tuo codice (filtro wordpress).
      Se vuoi reinserilo utilizza Postable (c’è il link sotto alla textarea del commento).
      L’errore che mi dici, però potrebbe risultare da un non corretto utilizzo del tag swf. Inserisci l’indirizzo fisico della macchina e non quello di facebook?
      es : http://www.miosito.it/flash.swf e non apps.facebook.com/miapps/flash.swf.

      1. si si, inserisco precisamente l’indirizzo di dove si trova il file swf, il codice per far visualizare tale file:

        <fbml>
        <fb:swf swfsrc=%u201D%u2013percorso assoluto%u2013%u201D swfbgcolor=%u201D#FFFFFF%u201D menu=%u201Dfalse%u201D wmode = %u201Copaque%u201D width=%u201Dampiezza%u201D height=%u201Daltezza%u201D >
        </fbml>

        che poi è questo:

        <fb:swf swfsrc=%u201DFLASH PERCORSO ASSOLUTO NON CANVAS%u201D swfbgcolor=%u201D#FFFFFF%u201D width=%u201DXX%u201D height=%u201DYY%u201D />

        ma nada de nada! sempre bianco!

  5. Salve,
    un informazione se possibile: ho provato più volte a creare index.php come spiegato sopra.
    Ma una volta che accedo all’URL apps.facebook.com/miaapplicazione l’errore che compare è:
    Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or ‘}’ in indirizzo/miaapplicazione/facebook.php on line 38

    dove la line 38 è: public $api_client; //all’interno di Class Facebook

    Come posso risolvere?
    Perchè ho provato a non richiamare le API e quindi creare un file index.php in cui facevo semplicemente: echo “ciao” e richiamando l’URL su facebook l’applicazione mi visualizzava “ciao” correttamente.
    E’ un problema di configurazione? Se può essere utile il Canvas Callback URL è su server altervista : http://www.miosito.altervista.org/miaapplicazione/

    In attesa di risposta ringrazio anticipatamente

    1. ciao Giacomo,
      credo che il tuo problema sia dovuto ad una versione precedente del php.
      Forse hai la 4 e non la 5 richiesta dal client che utilizzi. L’errore infatti è nel file facebook.php.
      Dovresti cambiare server, e non utilizzare altervista.

      1. Grazie, risolto.
        Ho visto che con altri account è possibile fin da subito vedere l’applicazione indirizzandosi all’URL apps.facebook.com/miaapplicazione.

        É possibile crearla senza che sia resa direttamente pubblica?
        Ringrazio di nuovo per la risposta.

  6. Ciao!
    Ho creato con lo “Sviluppatore” un’applicazione su Facebook.

    Quando però vado ad usarla, oltre a non mostrarmi tutti “gli oggetti da inviare” che ho creato, per la solita storia che ne sblocca un pò per volta e solo se la usi, mi permette di inviarne solo a 3 amici al giorno.

    E’ possibile modificare questa impostazione: io vorrei poter dare la possibilità, a chi la usa, di inviarne a 20/30 amici al giorno…?
    E magari mostrare subito tutti gli oggetti che si possono inviare…?

    Aiuto!!

    Grazie e buonagiornata!

    Giulia

  7. ti ho mandato una mail dove ti kiedo un preventivo per integrare tu questa opzione… appena puoi mi sai sapere quanto ti devo per questo aiuto? kinglion at fastwebnet punto it

  8. Ciao gennaro. Ho creatoi uno script di prova che genera frasi random, tipo il famoso biscotto della fortuna che gira su facebook.
    Come faccio a fare in modo che l’utente posso pubblicare nel proprio profilo la frase uscita?
    grazie

  9. Ciao io ho creato la mia applicazione, ho fatto tutti i passi necessari.
    però non mi fa fare l’ultima fase ,quella di caricare la mia applicazione nella directory,perchè mi dice che ci vogliono 5 utenti attivi. Come si fa ad avere 5 utenti attivi?Io ho dato il link a un pò dei miei amici ma se ci vanno gli compare un messaggio dove gli dice che l’applicazione è ancora in costruzione.Sapresti dirmi come superare questo problema?
    grazie
    Gianpaolo

  10. CIao Gennaro, sto sempre sviluppando l’applicazione e non riesco ad invtare gli amici, sto usando del codice scaricato da fb per iframe ma va in errore.

    Fatal error: Call to undefined method FacebookRestClient::notifications_sendRequest()

    Praticamente questo metodo non esiste?!?!!!

    1. aggiornati i file client. Ma comunque credo che è errato il codice.
      Prova in fbml :
      < fb:request-form action=”index.php” method=”POST” invite=”true” type=” APP NAME” content=”testo da mostrare” > < fb:multi-friend-selector showborder=”false” actiontext=”invita i tuoi amici ad usare APP NAME”> < /fb:request-form>

  11. Salve Gennaro la tua guida è davvero molto utile ed io avevo provato senza successo a crearne una con la guida in inglese che è presente automaticamente su facebook! ma il mio principale problema è trovare un server adatto e vorrei anche un tuo consiglio! Spero che se avrò bisogno di altri consigli potrai darmi dei suggerimenti!
    un saluto!
    Salvo

  12. SCUSA GENNARO SAPRESTI DIRMI UN BUON SERVER PER CARICARE L’APPLICAZIONE ?
    QUESTO E’ QUELLO CHE MI STA BLOCCANDO ..GRAZIE !
    NE HO FATTA UNA SU FACEBOOK PERO’ L’APPLICAZIONE ME L’HANNO DATA IN DOTAZIONE NON E’ MIA DL TUTTO !

  13. ciao, ho provato il tuo piccolo esempio e la pagina viene regolarmente visualizzata su facebook ma invece del mio nome nella pagina viene stampato un numero di 10 cifre come si spiega questo? ciao e grazie.

  14. Ottima guida complimenti, vorrei chiedere un aiuto se possibile, dunque ho realizato un applicazione per facebook, sono ancora all’inizio per adesso comunque và tutto bene, apparte alcune cosette, tipo (aggiungere al profilo), e pubblicare una notizia sulla propria/o bacheca amici!

    aprofitto per chiedere e avere una risposta:

    ho aggiunto il seguente codice fbml: ” e riesco a visualizare correttamente il pulsante.

    Ho aggiunto poi: “$fb->addToProfile(‘…’, ‘…’);” e praticamente se clicco sopra riesco a vedere i puntini, e aggiungere l’applicazione al mio profilo, quell oche mi chiedevo io? è possibile mettere un immagine a piacimento e ovviamente adattarla alla grandezza del box? se si come?

    Grazie in anticipo!

    1. Grazie Gennaro, con il tuo prezioso Tutorial ho creato la mia prima applicazione Facebook! Io mi ritrovo questa applicazione nel mio account. Ora come faccio ad aggiungerla alla mia pagina Fan? Io vorrei semplicemente una scheda con quello che ho scritto nel codice. Esempio: http://apps.facebook.com/facebook_abt/
      Non trovo nessuna schermata dove mi dice di aggiungerla alla mia pagina fan o sbaglio? Ciao.

      1. Ciao, per farlo è un pò più complesso. Devi abilitare la tua applicazione per essere inserita nelle pagine. Poi devi creare uno script che faccia da interfaccia. Ed infine dire a facebook (tramite developer ) dove si trova lo script.

          1. Lo so che ti stresso, ma proprio non ho trovato niente in merito. Cosa vuol dire abilitare l’applicazione per esser inserita nelle pagine? Lo trovo uno script che fa da interfaccia pronto per essere usato. Non ho trovato uno script di una demo che possa chiarirmi le idee. C’e qualche script aperto da scaricare in giro? Di programmazione sono abbastanza scarsino e ho qualche difficoltà. Ogni suggerimento è ben accetto. Grazie.

  15. Ciao Gennaro, sto sviluppando un’applicazione in flash per facebook ma l’swf pubblicato non si vede, tantomeno nel codice.

    Ho provato facendo il callback ad un server con estensione php e funziona tutto tranne che non si vede il flash: ho stampato a schermo i tag html con echo “<OBJECT classid=’cl…”.
    Poi ho spostato il callback url ad una pagina html normale con dentro gli stessi tag, il risultato è che non si vede niente.
    Ho provato sia in iframe che Fbml.

    Ora leggendo i post precedenti vedo la stringa
    Come la debbo inserire in una pagina php o html, sempre se possibile?
    Io non uso flex ma FlashCs3.

  16. Ciao Gennaro,
    complimenti per la guida.
    Per quanto riguarda le applicazioni create, quanto tempo occorre affinchè siano indicizzate nel motore di ricerca di Facebook, perchè quella che ho creato ormai da quasi un mese, non viene ancora visualizzata.

    Saluti

  17. Ciao Gennaro, ho creato l’applicazione, ma non riesco ad aggiungerla come scheda. Io vorrei poi inserire l’applicazione nella parte sinistra della pagina di fb, per poter creare un link senza nofollow.
    Ciao

      1. Il mio obiettivo era creare un link senza nofollow nella parte destra della pagina di facebook e avevo pensato ad un’applicazione. Sono riuscito a creare l’applicazione e ad inserirla nel canvas con ampiezza 760px. Ma non sono riuscito a metterla nella parte dx della pagina. Poi ho risolto utilizzando l’applicazione “Extended Info”.

        Cmq grazie!
        Ciao

  18. Ciao,
    ho trovato interessanti i tuoi 2 tutorial, ma non capisco perchè non visualizzo la foto del mio profilo, ho provato così:

    require_once ‘appinclude.php’;
    echo ‘Il tuo ID utente è :’.$user.”;
    echo ”;

    il risultato è che viene stampato a video il mio “UID”, ma non vedo la foto.
    Se faccio visualizza HTML vedo il TAG così com’è, sai aiutarmi?

    Grazie e ciao
    Fabrizio

  19. Gennaro grazie per la risposta,
    a dire la verità usavo già questo codice come hai scritto anche tu:

    il mio errore era non metterlo dentro un echo “”;

    inesperienza… ;-)

    cmq grazie per la gentile risposta.

    Visto che mi trovo… puoi consigliarmi qualche guida per sviluppare applicazioni facebook con flash??
    ho visto che adobe ha creato una libreria apposta per facebook… credo che poi facebook chiami questo linguaggio FBAS…

    ma ancora non sono riuscito ad usarle…

    quello che mi basterebbe per ora è creare un SWF dove in modo dinamico in un campo testo dice… “ciao + $nome_dell’utente_facebook”.

    giusto per iniziare a capire come fare…

    1. Non saprei indicarti una guida. FBAS è un libreria facebook per Action Script, potrebbe tornarti utile. Per quanto riguarda l’esempio, che mi chiedi, basterebbe aggiungere un paio di righe al codice in questa pagina “index.php”. Per esempio puoi passare la variabile $user nel flash, come parametro, in modo da averla a disposizione. Ovviamente, farai lo stesso con altri dati che ti possano servire. In questo caso l’interfaccia verso FB la faresti con php. Con la libreria FBAS, invece le richieste le fai da flash.

  20. @Luca: Grazie per i complimenti. Aruba va bene, ma se fai qualche applicazione di successo, ti conviene un server più serio ;) in giro ne trovi tanti (l’importante è la banda). Per il flash il codice corretto è :
    <fb:swf swfsrc=”FLASH PERCORSO ASSOLUTO NON CANVAS” swfbgcolor=”#FFFFFF” width=”XX” height=”YY” />

  21. Ciao Gennaro,
    prima di tutto complimenti per il tuo sito web, ho trovato davvero tante cose utili per il mio lavoro.
    Ultimamente mi sto dedicando a cercare di capire come funzionano le applicazioni per facebook… sto cercando di crearne una per prova.
    volevo chiederti una cosa… sono riuscito a creare un menù a schede e più pagine per la mia applicazione, e fin qui tutto bene.
    quando però in una pagina cerco di inserire un contenuto flash in questo modo:

    mi esce questo errore:

    Parse error: syntax error, unexpected ‘<‘ in /web/htdocs/www.ilmiosito.it/applicazione/paginaperflash.php on line 7
    (linea 7…che sarebbe la prima riga del codice che ho usato per importare flash <fb:swd…)

    come mai succede questo??

    da precisare che uso aruba come server.. ed ho fatto già l’upgrade al php5.

    Dipende comunque da Aruba?
    nel caso che fosse Aruba il problema… puoi consigliarmi qualche server free compatibile con il codice FBML dove posso fare le mie prove??
    ed a pagamento c’è qualcosa migliore di Aruba che supporta il codice FBML?

    grazie 1000 e scusa per tutte queste domande

  22. Ciao, sapresti per caso darmi qualche suggerimento per permettere alla mia applicazione di inserire (quando gli utenti ne fanno richiesta) un riquadro a sinistra in bacheca? Come succede per i quiz e altre applicazioni…

    Grazie e complimenti per gli articoli!

  23. @Riccardo: Quando crei un gruppo puoi impostarlo (pubblico, privato o nascosto). Pubblico:tutti possono accedere. Privato: Gli amministratori approvano le richieste di iscrizione(solo i membri accedono alla bacheca/forum/foto). Nascosto: come il precedente ma la descrizione del gruppo non compare nelle ricerche e l’adesione è solo per inviti.

    Non puoi monitorare nulla (nè visite, nè altro).

Leave a Reply to Ruben Cancel reply

Your email address will not be published. Required fields are marked *