2016-01-03 11 views
14

Sto sviluppando un'applicazione, che utilizza l'accesso di Facebook. Dopo l'accesso, l'utente deve impostare ulteriori informazioni e un'immagine del profilo, con l'immagine che viene fornita da tale account registrato su Facebook. Ora tutti i dettagli dell'account, incluso l'URL di quella immagine del profilo, vengono salvati nel mio database.Login app Facebook: come controllare la data di scadenza di un URL immagine che ho ottenuto?

Con mia sorpresa l'immagine del profilo ha improvvisamente smesso di funzionare. L'apertura è URL in un browser mi dà questo messaggio "firma URL scaduto"

https://scontent.xx.fbcdn.net/hphotos-xpa1/v/t1.0-9/p720x720/10846350_10204966809307370_2779189783437306470_n.jpg?oh=245bbada6c23f280a1e531e724be85ed&oe=56894D69

Download quelle foto e salvarle al mio server non è davvero un'opzione per me. C'è qualcosa che posso fare per rendere quell'URL durevole?

risposta

31

Sì, gli URL CDN di Facebook possono scadere - non è necessario memorizzarli per un uso a lungo termine.

Ma si può richiedere immagine del profilo di qualsiasi utente (finché si dispone di loro/app con ambito id utente globale), semplicemente facendo riferimento al

https://graph.facebook.com/4/picture // Mark Zuckerberg’s profile pic 

- che URL emette un reindirizzamento all'URL CDN corrente per l'immagine.

L'immagine è piuttosto piccola, 50px x 50px - è possibile utilizzare https://graph.facebook.com/4/picture?type=large per richiedere una versione più grande. Ciò ti darà l'immagine del profilo in 200px x 200px (o vicino a quella, se l'utente non ha caricato un'immagine quadrata.)

Nota che alcune immagini richiedono il recupero di un token di accesso. Per esempio https://graph.facebook.com/72256131540/picture restituisce un'immagine generica di un punto interrogativo a meno che non si aggiunge un token di accesso in questo modo:

https://graph.facebook.com/72256131540/picture?access_token=<ACCESS_TOKEN> 
+0

purtroppo non necessariamente desidera ottenere immagine del profilo corrente dell'utente, ma può anche essere una qualsiasi altra. Grazie comunque. –

+0

Quindi scaricare e archiviarli sul proprio server o recuperare un nuovo URL CDN passando attraverso l'album delle immagini del profilo dell'utente (è necessaria l'autorizzazione, ovviamente). – CBroe

+0

CBroe, avete idea che ci sia qualcosa di simile per altri provider. Ho chiesto il primario per Google, Instagram e VKontakte – user732456

Problemi correlati