2014-06-24 4 views
0

J'essaie d'effectuer une tâche très simple et afficher la photo de profil Facebook d'un utilisateur sur mon application Rails. Faire ce qui suit dans un fichier HTML de test fonctionne très bien:Photo de profil de Facebook Graphique ne pas rendu dans Rails

<html> 
    <body> 
    <img src="http://graph.facebook.com/4/picture?type=square" /> 
    </body> 
</html> 

La source d'image suit la redirection et se rend. Cependant pour une raison quelconque dans mon application Rails, j'utilise ce qui suit:

image_tag "http://graph.facebook.com/4/picture?type=square" 

Et ce n'est pas rendu. Dans les outils de développement Chrome, je vois que le fichier est zéro octet et l'image est 1x1px.

Chrome Dev Tools

J'utilise Ruby 2.0.0, Rails 4.0.2 et HAML.

MISE À JOUR: J'ai le même projet en cours d'exécution sur une autre machine dans une machine virtuelle Vagrant (Ubuntu) et l'image est rendu bien.

+0

http://graph.facebook.com/4/picture?type=normal Essayez ceci pour courir dans votre navigateur. si la photo obtient .. alors son chemin mieux – cjnahine05

+0

Mais l'outil de développement montre * graph.facebook.com/4 *, pas * graph.facebook.com/4/image? type = carré *? –

+0

@ cjnahine05 ajouter le paramètre 'normal' ne semble pas faire quoi que ce soit. – jackbot

Répondre

0

Vous pouvez essayer avec: https, à savoir:

https://graph.facebook.com/<id>/picture?type=square

Depuis cette URL redirige finalement https://fbcdn-profile-a.akamaihd.net/ et la redirection automatique fonctionne automatiquement lorsque les protocoles originaux et redirigés sont même. Donc probablement en utilisant https avec l'URL peut fonctionner!


Si n'a toujours pas des œuvres, font l'appel API To-

http://graph.facebook.com/<id>/picture?redirect=false

et vous obtiendrez la réponse AS-

{ 
    data: { 
    url: "https://fbcdn-profile-a.akamaihd.net/hprofile-.....jpg", 
    is_silhouette: false 
    } 
} 

Juste utilisez ce url.

+0

Hmm pas de chance, HTTPS semble faire la même chose. – jackbot

+0

Étrange! Si vous ajoutez une autre solution, pl vérifiez –

+0

Merci, mais je veux vraiment utiliser l'image src plutôt que d'avoir à faire 2 demandes pour chaque image. – jackbot

Questions connexes