Existe-t-il un moyen simple de récupérer la photo de profil d'un utilisateur sur LinkedIn ?
Idéalement, comme vous le feriez avec Facebook. http://graph.facebook.com/userid/picture
Existe-t-il un moyen simple de récupérer la photo de profil d'un utilisateur sur LinkedIn ?
Idéalement, comme vous le feriez avec Facebook. http://graph.facebook.com/userid/picture
Cela fonctionne bien pour moi !
Expliqué -
C'est pour une vignette avec toutes les autres données-
https://api.linkedin.com/v1/people/~:(id,location,picture-urls::(original),specialties,public-profile-url,email-address,formatted-name)?format=json
Il s'agit de l'image originale avec toutes les autres données.
https://api.linkedin.com/v1/people/~:(id,location,picture-url,specialties,public-profile-url,email-address,formatted-name)?format=json
Il suffit d'utiliser picture-urls::(original)
au lieu de picture-url
!
Ce système est actuellement utilisé dans Gradbee
J'obtiens un nom formaté (null) (null) avec l'url de l'image originale avec toutes les autres données - une idée ?
Lorsque vous vous connectez à linkedin, vous obtenez un code d'accès. Utilisez ce jeton d'accès et vous pourrez récupérer les données des utilisateurs.
LinkedInApiClient client = factory.createLinkedInApiClient(accessToken);
com.google.code.linkedinapi.schema.Person person = client.getProfileForCurrentUser(EnumSet.of(
ProfileField.ID, ProfileField.FIRST_NAME, ProfileField.LAST_NAME, ProfileField.HEADLINE,
ProfileField.INDUSTRY, ProfileField.PICTURE_URL, ProfileField.DATE_OF_BIRTH,
ProfileField.LOCATION_NAME, ProfileField.MAIN_ADDRESS, ProfileField.LOCATION_COUNTRY));
String imgageUrl=person.getPictureUrl();
Si votre objectif est simplement d'afficher la photo sur votre site, alors la méthode LinkedIn Plugin pour le profil des membres peut fonctionner pour vous. Il affichera la photo, quelques informations supplémentaires, ainsi que la marque LinkedIn.
Étant donné que l'API de LinkedIn est conçue pour être utilisée uniquement au nom de la utilisateur connecté actuel il n'offre pas de fonctionnalité similaire à l'api facebook graph.
C'est ma solution et elle fonctionne très très bien :
def callback(self):
self.validate_oauth2callback()
oauth_session = self.service.get_auth_session(
data={'code': request.args['code'],
'grant_type': 'authorization_code',
'redirect_uri': self.get_callback_url()},
decoder=jsondecoder
)
me = oauth_session.get('people/~:(id,first-name,last-name,public-profile-url,email-address,picture-url,picture-urls::(original))?format=json&oauth2_access_token='+str(oauth_session.access_token), data={'x-li-format': 'json'}, bearer_auth=False).json()
social_id = me['id']
name = me['firstName']
surname = me['lastName']
email = me['emailAddress']
url = me['publicProfileUrl']
image_small = me.get('pictureUrl', None)
image_large = me.get('pictureUrls', {}).get('values', [])[0]
return social_id, name, surname, email, url, image_small, image_large, me
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
3 votes
Prenez note de La réponse de ccoloma ci-dessous, car cela a changé beaucoup con
v2
de l'API. Les réponses acceptées et les plus votées sont les suivantesv1
qui sera bientôt obsolète.