La primera URL da un HTTP 302 (redirección temporal) a la segunda. Entonces, para encontrar la segunda URL programáticamente, podría emitir una solicitud HTTP para la primera URL y obtener el encabezado Location
de la respuesta.
Dicho esto, no confíe en que la segunda URL sea permanente. Leyendo un poco en el código de respuesta HTTP (de 302 frente a un 301 permanente), es posible que Facebook cambie esas URL de forma regular para evitar que personas de —, por ejemplo, — utilicen sus servidores para alojar imágenes.
Editar: en cuenta que la URL de CDN el PO publicado ahora es 404, por lo que sabemos que no podemos confiar en la URL de ser de larga duración. Además, si está enlazando a Graph API desde <img>
en una página segura de SSL, there's a parameter tiene que agregar, asegúrese de usar https://graph.facebook.com
.
Actualización: La API tiene added a parameter – redirect=false
– que causa JSON para ser devuelto en lugar de una redirección. El JSON retruned incluye la URL de CDN:
{
"data": {
"url": "http://profile.ak.fbcdn.net/...",
"is_silhouette": false
}
}
Una vez más, no me confiar en esta URL CDN ser vivido largo. La respuesta JSON se envía con encabezados permisibles CORS, por lo que puede hacer este lado del cliente con solicitudes XHR.
¿Por qué necesita el "verdadero" uno – dockeryZ
de esa manera puedo guardar la URL y llamar directamente sin hacer la solicitud de la API? – ericbae
todavía puede llamarlo directamente. todavía funcionará – ufk