Eu sei que muitas APIs de redes sociais fornecem uma maneira de construir um url para a foto do perfil de um usuário, usando seu user_id ou nome de usuário. Para o Facebook, é assim:
http://graph.facebook.com/user_id/picture?type=square
Agora, existe algo assim para o Google Plus? Ou qualquer outra forma de obter a foto do usuário sem uma chamada de API?
google-api
google-plus
ArVan
fonte
fonte
Respostas:
O Google mudou sua política, então a maneira antiga de obter a imagem do perfil do Google não funcionará agora, que era
https://plus.google.com/s2/photos/profile/(user_id)?sz=150
A nova maneira de fazer isso é
Solicitar URL
Isso fornecerá o url da imagem do perfil do Google no formato json, conforme mostrado abaixo
Resposta :
Mais parâmetros podem ser encontrados para enviar com o URL que você pode precisar aqui
Para mais detalhes você também pode verificar a questão dada onde eu respondi para o mesmo tipo de problema. Como obter a imagem do usuário através do ID do usuário no Google plus?
Happy Coding !!
fonte
<img>
tag.../-OkM...AANA/ltpH...as/photo.jpg?sz=512
ATUALIZAÇÃO: O método abaixo NÃO FUNCIONA desde 2015
É possível obter a foto do perfil, e você pode até definir o tamanho dela:
Exemplo: minha foto de perfil, com tamanho definido para 100 pixels:
Uso com uma tag de imagem:
Espero que funcione!
fonte
ATUALIZAÇÃO: o Google interrompeu o suporte para este método, que agora retorna um erro 404 (não encontrado) .
Todos esses urls buscam a foto do perfil de um usuário:
Eles redirecionam para o mesmo url de imagem obtido na API do Google, um link feio como
lh6.googleusercontent.com/-x1W2-XNKA-A/AAAAAAAAAAI/AAAAAAAAAAA/ooSNulbLz8U/photo.jpg
O mais simples é usar diretamente como a fonte da imagem:
Caso contrário, para obter exatamente o mesmo url de uma chamada de API do Google, você pode ler os cabeçalhos das imagens,
por exemplo em PHP:
conforme descrito no artigo Obtenha a imagem do perfil do Google Plus usando PHP .
fonte
Abordagem 1: (não funciona mais)
Abordagem 2: (cada solicitação conta em seus limites de taxa de API, que é de 10 mil solicitações por dia gratuitamente)
com o seguinte formato de resposta:
Abordagem 3: (não requer chave de API)
na resposta json, você obtém uma propriedade chamada "gphoto $ thumbnail", que contém o url da imagem do perfil como o seguinte:
Você pode notar na url a parte "s64-c" que significa que o tamanho da imagem é 64, tentei usar outros valores como "s100-c" e funcionaram. Além disso, se você remover a parte "s64-c" e anexar o parâmetro "? Sz = 100", isso também funcionará a partir de agora. Embora esta não seja uma maneira muito boa de obter a foto do perfil de um usuário gplus, a vantagem é que não requer nenhuma chave de API.
fonte
Google, nenhuma API necessária:
// Exemplo de saídas: https://lh3.googleusercontent.com/-2N6fRg5OFbM/AAAAAAAAAAI/AAAAAAAAADE/2-RmpExH6iU/s64-c/photo.jpg
MUDAR: 64 em "s64" para o tamanho
fonte
Se você quiser mostrar a foto do perfil do usuário conectado no momento, você nem precisa saber o {user_id}. Basta usar
https://plus.google.com/s2/photos/profile/me
.fonte
Você pode obter o URL da imagem do perfil usando o método people.get da API do Google+. Isso exige uma viagem extra de ida e volta, mas é a maneira mais confiável de obter a imagem.
Tecnicamente, você também pode usar o URL,
https://s2.googleusercontent.com/s2/photos/profile/{id}?sz={size}
que redirecionará para o URL final.{id}
é o ID de usuário do Google ou um dos antigos nomes de usuário dos Perfis do Google (eles ainda existem para os usuários que os tinham, mas não acho que você possa criar novos).{size}
é o tamanho desejado da foto em pixels. Tenho quase certeza de que este não é um recurso suportado e documentado, então eu não confiaria nele para nada importante, pois ele pode desaparecer a qualquer momento sem aviso prévio. Mas para protótipos rápidos ou pequenos aplicativos únicos, pode ser suficiente.fonte
tentar acessar o / s2 / profile / photo url funciona para a maioria dos usuários, mas não para todos.
O único método de prova completa é usar a API do Google+. Você não precisa de autenticação de usuário para solicitar dados de perfil público, portanto, é um método bastante simples:
Obtenha uma chave de API do Google+ em https://cloud.google.com/console
Faça uma solicitação GET simples para: https://www.googleapis.com/plus/v1/people/+ <nome de usuário>? Key =
Observe o + antes do nome de usuário. Se você usar ids de usuário em vez disso (a longa sequência de dígitos), você não precisa do +
fonte
Se você usar Flutter, poderá acessá-lo via
people.googleapis.com
endpoint, o código usa agoogle_sign_in
bibliotecaVocê obterá algo como
onde
url
é um URL de imagem acessível.fonte
As APIs herdadas do Google+ foram desativadas em 7 de março de 2019. Mudanças no plano de desativação foram feitas recentemente, o que pode mitigar seu efeito em alguns desenvolvedores.
fonte
Tentei todo o possível .. aqui está a parte final do código de trabalho. Espero que ajude alguém que está procurando por isso.
fonte
Resposta simples: não
Você terá que consultar a API da pessoa e obter os dados image.url do perfil para obter a foto. AFAIK não existe um formato padrão para esse url que contém o ID do usuário.
fonte