Die erste URL gibt eine HTTP 302 (temporäre Umleitung) an die zweite weiter. Um die zweite URL programmgesteuert zu finden, können Sie eine HTTP-Anforderung für die erste URL ausgeben und den Location
Header der Antwort abrufen.
Verlassen Sie sich jedoch nicht darauf, dass die zweite URL dauerhaft ist. Wenn Sie den HTTP-Antwortcode ein wenig lesen (von 302 im Gegensatz zu einem permanenten 301), ist es möglich, dass Facebook diese URLs regelmäßig ändert, um zu verhindern, dass Benutzer beispielsweise ihre Server zum Hosten von Bildern verwenden.
Bearbeiten: Beachten Sie, dass die vom OP veröffentlichte CDN-URL jetzt 404 ist. Wir wissen also, dass wir uns nicht darauf verlassen können, dass die URL langlebig ist. Wenn Sie <img>
auf einer SSL-gesicherten Seite eine Verknüpfung zur Graph-API herstellen , müssen Sie einen Parameter hinzufügen, um sicherzustellen, dass Sie ihn verwenden .https://graph.facebook.com
Update: Die API hat einen Parameter - redirect=false
- hinzugefügt, der bewirkt, dass JSON anstelle einer Umleitung zurückgegeben wird. Der neu abgestimmte JSON enthält die CDN-URL:
{
"data": {
"url": "http://profile.ak.fbcdn.net/...",
"is_silhouette": false
}
}
Auch hier würde ich mich nicht darauf verlassen, dass diese CDN-URL langlebig ist. Die JSON-Antwort wird mit zulässigen CORS-Headern gesendet, sodass Sie diese clientseitige Ausführung mit XHR-Anforderungen durchführen können.