Atualmente estou usando o Graph API Explorer para fazer alguns testes. Essa é uma boa ferramenta.
Quero obter a lista de amigos do usuário, com nomes, ids e fotos dos amigos. Então eu digito:
https://graph.facebook.com/me/friends?fields=id,picture,name
Mas a imagem é apenas 50x50 e eu gostaria de uma maior nesta solicitação.
É possível ?
facebook
facebook-graph-api
Martin
fonte
fonte
Conforme descrito neste bug no Facebook, você também pode solicitar tamanhos de imagem específicos agora por meio da nova sintaxe de " expansão de campo " da API .
Igual a:
fonte
A melhor maneira de fazer com que todos os amigos (que também estão usando o aplicativo, é claro) tenham tamanhos de imagem corretos é usar a expansão de campo , seja com uma das tags de tamanho (quadrado, pequeno, normal, grande):
(editar: isso não funciona mais)
... ou você pode especificar a largura / altura:
Aliás, você também pode escrever assim:
fonte
Altere a matriz de campos
id,name,picture
paraid,name,picture.type(large)
Resultado:
fonte
Graph returned an error: (#100) For field 'picture': type must be one of the following values: thumbnail, small, album
Você pode definir o tamanho da imagem em pixels, assim:
De maneira semelhante, o
type
parâmetro pode ser usadoDa documentação
fonte
Você também pode tentar obter a imagem se quiser com base na altura ou largura
https://graph.facebook.com/user_id/picture?height=
OU
https://graph.facebook.com/user_id/picture?width=
Os valores são por padrão em pixels, você só precisa fornecer o valor int
fonte
Eu pesquisei o Graph API Explorer extensivamente e finalmente encontrei full_picture
PS Percebi que full_picture nem sempre fornece a imagem em tamanho real que desejo. 'anexos' faz
fonte
Hum ... acho que encontrei uma solução.
Na verdade, pode apenas solicitar
De acordo com http://developers.facebook.com/docs/reference/api/ (seção "Imagens"), a url das fotos do perfil pode ser construída com o ID do usuário
Por exemplo, supondo que o ID do usuário esteja em $ id:
Mas não é o URL final da imagem, então se alguém tiver uma solução melhor, ficarei feliz em saber :)
fonte
Você pode especificar
width
&height
em sua solicitação à API gráfica do Facebook:http://graph.facebook.com/user_id/picture?width=500&height=500
fonte
De
v2.7
,/<picture-id>?fields=images
apresentará uma lista com diferentes tamanhos de imagens, sendo o primeiro elemento a imagem em tamanho real.Não conheço nenhuma solução para várias imagens de uma vez.
fonte
No URL das imagens encontrado nas respostas do gráfico (as " http://photos-c.ak.fbcdn.net/ "), basta substituir o padrão "_s.jpg" por "_n.jpg" (? Tamanho normal) ou "_b.jpg" (? tamanho grande) ou "_t.jpg" (miniatura).
URLs Hacakable / API REST tornam a Web melhor.
fonte
usuários rest-fb (imagem quadrada, res. maior): Connection myFriends = fbClient.fetchConnection ("me / friends", User.class, Parameter.with ("fields", "public_profile, email, first_name, last_name, gender, picture .width (100) .height (100) "));
fonte
Recebi este erro quando fiz uma solicitação com
picture.type(full_picture)
:Quando faço a solicitação com
picture.type(album)
epicture.type(square)
, me responde com uma imagem de tamanho 50x50 pixel.Quando faço a solicitação com
picture.type(large)
, me responde com um tamanho de imagem de 200x200 pixels.Quando eu faço a solicitação com
picture.width(800)
, me responde com um tamanho de pixel 477x477 de imagem.com
picture.width(250)
, respostas 320x320.com
picture.width(50)
, respostas 50x50.com
picture.width(100)
, respostas 100x100.com
picture.width(150)
, respostas 160x160.Eu acho que o Facebook dá as imagens que são redimensionadas de maneiras diferentes quando o usuário adiciona essa foto pela primeira vez.
fonte
Acho que, a partir de agora, a única maneira de obter fotos grandes de amigos é usando FQL. Primeiro, você precisa buscar uma lista de amigos:
https://graph.facebook.com/me/friends
Em seguida, analise essa lista e extraia todos os amigos
ids
. Quando você tiver isso, basta executar a seguinte consulta FQL:200
aqui é apenas um tamanho exemplar, você pode inserir qualquer coisa. Você deve obter a seguinte resposta:Com cada url sendo o link para uma imagem de 200x200px.
fonte
Tenho o mesmo problema, mas tentei este para resolver o meu problema. ele retorna uma imagem grande. Não é a solução perfeita, mas você pode tentar esta.
https://graph.facebook.com/v2.0/OBJECT_ID/picture?access_token=XXXXX
fonte
tente alterar o tamanho da imagem alterando o tamanho do pixel do url em cada objeto json da seguinte maneira:
por exemplo, eu mudo s480x480 para s720x720
Antes: https://fbcdn-sphotos-ca.akamaihd.net/hphotos-ak-xfp1/t1.0-9/q71/s480x480/10454308_773207849398282_283493808478577207_n.jpg
Depois: https://fbcdn-sphotos-ca.akamaihd.net/hphotos-ak-xfp1/t1.0-9/q71/s720x720/10454308_773207849398282_283493808478577207_n.jpg
fonte
Variante com estilo JS. Basta definir a largura da imagem grande e enorme e você terá a maior variante.
fonte
Você pode usar full_picture em vez da chave de imagem para obter a imagem em tamanho real.
fonte