4
votes

Impossible de partager sur LinkedIn à l'aide de l'API LinkedIn v.2

J'ai du mal à obtenir un partage sur LinkedIn. J'essaie de publier un partage LinkedIn via LinkedIn API V2 et chaque fois que je fais la demande de publication, je reçois une réponse de demande expirée (statut 504) du serveur. Voici mon code:

{
    "message": "Request timed out",
    "status": 504
}

Et voici le message d'erreur:

myPost = {
      'author': 'urn:li:person:' + this.uid,
      'lifecycleState': 'PUBLISHED',
      'specificContent': {
          'com.linkedin.ugc.ShareContent': {
              'shareCommentary': {
                  'text': 'Hello World! This is my first Share on LinkedIn!'
              },
              'shareMediaCategory': 'NONE'
          }
      },
      'visibility': {
          'com.linkedin.ugc.MemberNetworkVisibility': 'PUBLIC'
      }
  }

header = {
  'Content-Type': 'application/json',
  'X-Restli-Protocol-Version': '2.0.0',
  'Authorization': 'Bearer ' + token
};

this.http.post('https://api.linkedin.com/v2/ugcPosts', myPost, header).then(res => {
    alert(JSON.stringify(res));
  })
  .catch(err => {
    alert(JSON.stringify(err));
  });

C'est un projet angulaire-ionique et j'utilise le cordova natif -plugin-advanced-http pour faire ma demande de message. Je n'ai eu aucun problème pour me connecter avec LinkedIn, obtenir mon jeton d'accès et récupérer les données de LinkedIn en utilisant le même plugin natif et l'API LinkedIn V2.

Sur mon compte de développeur LinkedIn, accédez à la page d'utilisation et limites, Je peux voir l'appel API pour créer la méthode.


2 commentaires

Bonjour, bienvenue dans StackOverflow! Il est souvent utile d'obtenir une réponse si vous incluez ce que vous avez déjà essayé et en quoi cela ne correspond pas à vos besoins. Des détails sur les messages d'erreur que vous recevez lorsque vous essayez d'effectuer votre partage seraient également utiles pour aider à diagnostiquer le problème.


Si vous rencontrez toujours des problèmes de délai d'expiration, veuillez soumettre un ticket à linkedin.zendesk.com et inclure les en-têtes de réponse reçus de votre demande POST.


3 Réponses :


0
votes

m'a aidé avec le même problème sur python

head = {
'Authorization': 'Bearer '+token, 'X-Restli-Protocol-Version': '2.0.0'
}

body = {
    "author": 'urn:li:person:'+ID,
    "lifecycleState": "PUBLISHED",
    "specificContent": {
        "com.linkedin.ugc.ShareContent": {
            "shareCommentary": {
                "text": "Hello World! This is my first Share on LinkedIn!"
            },
            "shareMediaCategory": "NONE"
        }
    },
    "visibility": {
        "com.linkedin.ugc.MemberNetworkVisibility": "PUBLIC"
    }
}

requests.post('https://api.linkedin.com/v2/ugcPosts', data=json.dumps(body),headers=head)


1 commentaires

J'obtiens ce problème "Erreur lors de l'analyse du corps de la demande à json Caractère illégal sans guillemets ((CTRL-CHAR, code 10)): doit être échappé en utilisant une barre oblique inverse pour être inclus dans la valeur de chaîne \ n à [Source: (com.linkedin.data. ByteString $ ByteArrayVectorInputStream); ligne: 7, colonne: 249] "lorsque mon message a" - ".



4
votes

Les délais liés aux points de terminaison POST dans l'API LinkedIn v2 peuvent se produire si LinkedIn ne parvient pas à analyser le corps de la requête. La solution à l'exemple posté ici est de transformer myPost en une chaîne JSON appropriée, par exemple. json.dumps (myPost) .

Le délai d'expiration peut également se produire s'il manque l'en-tête 'Content-Type': 'application / json' qui m'a juste mordu en jouant avec leur API en utilisant ruby.


0 commentaires

0
votes

Il n'y a vraiment aucune raison d'utiliser un plugin js-lib obscurci pour simplement partager un lien sur LinkedIn. Tout ce dont vous avez besoin est:

https://www.linkedin.com/sharing/share-offsite/?url={url}

Source: Documentation de l'URL de partage Microsoft LinkedIn .

Par exemple, cela fonctionne pour moi:

https: // www .linkedin.com / sharing / share-offsite /? url = http: //www.wikipedia.org/

Fonctionne très bien:

Aucun problème d'authentification. Ensuite, créez simplement votre propre bouton et créez un lien hypertexte. Aucun problème.

Si vous êtes intéressé par un projet GitHub régulièrement entretenu qui en assure le suivi pour que vous n'ayez pas à le faire, jetez-y un œil! URL de partage social

 Image d'URL de partage social


0 commentaires