Die erste URL gibt eine HTTP 302 (temporäre Weiterleitung) an die zweite. Um also die zweite URL programmatisch zu finden, könnten Sie eine HTTP-Anfrage für die erste URL ausgeben und den Header Location
der Antwort erhalten.
Das gesagt, verlassen Sie sich nicht auf die zweite URL pemanent. Ein wenig in den HTTP-Response-Code (von 302 im Gegensatz zu einer permanenten 301) einlesen, ist es möglich, dass Facebook diese URLs regelmäßig ändert, um Leute von — zum Beispiel — zu verhindern, die ihre Server verwenden, um Bilder zu hosten.
Edit: Beachten Sie, dass die CDN URL der entsandte OP ist jetzt ein 404, so dass wir wissen, dass wir nicht auf der URL verlassen können langlebige zu sein. Auch, wenn Sie auf die Grafik-API von einem <img>
auf einer SSL-gesicherten Seite verbindet, there's a parameter Sie müssen hinzufügen stellen Sie sicher, https://graph.facebook.com
verwenden.
Update: Die API hat added a parameter – redirect=false
– die JSON verursacht eher als eine Umleitung zurückgeführt werden. Die retruned JSON umfasst die CDN URL:
{
"data": {
"url": "http://profile.ak.fbcdn.net/...",
"is_silhouette": false
}
}
Auch hier würde ich nicht auf dieser CDN URL langlebig sein verlassen. Die JSON-Antwort wird mit permissiven CORS-Headern gesendet, sodass Sie diese Clientseite mit XHR-Anforderungen ausführen können.
Warum brauchen Sie die „echten“ one – dockeryZ
auf diese Weise ich die URL speichern und nennen es direkt auf die API-Anfrage, ohne? – ericbae
können Sie es immer noch direkt anrufen. es funktioniert immer noch – ufk