• Partager une nouvelle sur Linkedin en ligne de commande

    Linkedin, comme beaucoup d’autres plateformes sociales, possède un API . Il est possible d’intéragir avec celui-ci avec une multitude de langages tel JAVA, PHP, Python, pour ne nommer que ceux-ci.

    Les programmeurs utiliseront habituellement cet API pour lier des applications aux résaux sociaux afin que leurs clients puissent publier ou interroger des données directement à partir desdites applications. Ici, je donnerai plutôt un simple exemple qui partage une nouvelle grâce à CURL.

    L’exemple pourra être repris dans divers langage. En PHP, par exemple, CURL est disponible. Sous Python, il est possible d’utiliser la librairie httplib2 ou PycURL. Il est possible aussi d’installer des « wrappers » dans les différents langages afin de faciliter la communication avec l’API.

    Ça peut être intéressant pour automatiser certains envois planifiés. Par contre, je ne crois pas que cela respecte la politique de Linkedin. Je vous invite à vérifier par vous-même. Sinon, je suis certain que vous avez déjà en tête des utilités à ceci.

     

    1- Dans un premier temps, un application doit être créer sur https://www.linkedin.com/developer/apps

     

    Mes_app

     

    2 – Une fois le formulaire complété, vous obtiendrez 2 clés qui permettront une authentification Oauth 0.2

     

    keys

     

     

    Aussi, cochez toutes les autorisations disponibles.

    auto

    Toujour dans la même page, vous devez indiquer un URL de redirection pour Auth 0.2.  Vous pouvez y inscrire http://localhost.

     

    Oauth20

     

    Une fois l’URL inscrite, cliquez sur « Add » et ensuite sur « Mettre à jour »

     

    4 – L’application  doit avoir l’autorisation d’un usager pour pouvoir publier en son nom.  Pour se faire, il faut utiliser l’URL d’autorisation sous le format suivant :

    https://www.linkedin.com/uas/oauth2/authorization?response_type=code&client_id=123456789&redirect_uri=https%3A%2F%2Flexample.com&state=987654321

    L’url contient plusieurs paramètres :

     

    response_type Cette valeur doit toujours être code
    client_id La valeur « API Key » généré à l’étape précédente
    redirect_uri L’URL où seront envoyés les utilisateurs après l’autorisation. Cette valeur doit concorder avec un URL Oauth 2.0 de redirection définit dans la configuration de vorte application.
    e.g. https://www.example.com/auth/linkedin
    state Un chaîne unique de votre choix difficile à deviner. Utilisé pour prévenir les attaques CSRF.
    e.g. state=DCEeFWf45A53sdfKef424

     

    Le paramètre redirect_uri peut être bidon dans notre cas puisque l’objectif n’est qu’un accès à l’API par la ligne de commande.  Nous utiliserons celui défini précédement : http://localhost

    Notre URL devient donc comme ceci (N’oubliez pas de changer la valeur de client_id pour votre propre valeur) :

    https://www.linkedin.com/uas/oauth2/authorization?response_type=code&client_id=XXXXXXXXXXXXXXXXXXX&redirect_uri=http%3A%2F%2Flocalhost&state=987654321

     

    Lors que vous appellerez l’adresse dans votre fureteur, vous obtiendrez une page semblable à celle-ci :

     

    autorisation

     

    Une fois que vous aurez inscrit votre mot de passe et autorisé, vous serez redirigé vers http://localhost. La page devrait être invalide et c’est normal. Prenez note de l’url complet :

    http://localhost/?code=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx&state=987654321

    Vous avez maintenant votre code d’autorisation. Prenez note de celui-ci.

     

    5 – Vous avez maintenant en main tout ce qu’il vous faut pour obtenir votre Token final. Ça fait beaucoup d’étape, mais on y arrive.

    Vous devez maintenant vous assurer que CURL est bien installé sur votre machine. Sous Fedora (et probablement CentOS et RedHat) vous pouvez installer comme suit :

     

    Il est aussi possible d’installer CURL sous Windows et MacOS. Google est votre ami. Une tone de tutoriels existent à cet effet.

    Nous obtiendrons le token directement par curl grâce à l’URL suivant :

    https:/api.linkedin.com/uas/oauth2/accessToken

    Il s’agit d’un appel POST. Pour cette raison, il ne nous est pas possible de l’utiliser directement par le fureteur web.

    Voici la commande que j’utilise avec CURL :

     

    Vous devez ajuster vos paramètres ainsi :

     

    code Le code d’autorisation récupéré à l’étape 4
    redirect_uri Le même URL que la redirection de l’étape 4 (redirect_uri)
    Ex : http://localhost
    client_id Le « Id Client » généré à l’étape 2
    client_secret Le « Secret client » généré à l’étape 2
    .

    Avec un peu de chance, vous devriez obtenir un résultat semblable à celui-ci :

     

     

     

    Votre token d’accès est valide pour 60 jours. Si vous obtenez une erreur à cette étape, regénérez votre code de l’étape 4 et réessayer avec un nouveau code. Celui-ci expire rapidement, donc il ne faut pas trop attendre avant de procéder à l’étape 5.

     

    6 –  Envoi du partage

    Je vous invite à visiter https://apigee.com/console/linkedin afin de prendre connaissance de la structure général de l’API. La documentaition est aussi disponible au : https://developer.linkedin.com/docs

    Dans le cas qui nous concerne, voici la ligne de commande pour faire le partage :

     

     

4 Responsesso far.

  1. ysael dit :

    Nice ! merci mr Fleury!

    y

  2. JB dit :

    Bonjour

    Est-il possible de faire une recherche dans utiliser l’API de LinkedIn et en utilisant uniquement Curl ?

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *