2
votes

LinkedIn Reshare ugcPost à l'aide de l'API

J'essaie de partager un ugcPost à l'aide de l'API V2.

J'ai utilisé v2 / partages pour y parvenir. Je reçois une erreur de serveur interne.

Quelqu'un a essayé ceci, s'il vous plaît laissez-moi savoir si cela est possible?


2 commentaires

Avez-vous déjà compris cela? Je rencontre le même problème. Je reçois toujours une erreur 500. "author": "urn: li: person: ", "lifecycleState": "PUBLISHED", "specificContent": {"com.linkedin.ugc.ShareContent": {"shareMediaCategory": "URN_REFERENCE" , "shareCommentary": {"text": "This is LinkedIn Resharing"}, "media": [{"media": "urn: li: share: 6577220936284545024", "status": "READY"}], Reg share fonctionne très bien pour moi.


J'utilise actuellement le point de terminaison / ugcPosts . Comme je l'ai mentionné ci-dessus, partage régulier de publications et d'images sur les réseaux sociaux, cela fonctionne bien.


3 Réponses :


0
votes

Vous devez ajouter X-Restli-Protocol-Version: 2.0.0 dans vos en-têtes


1 commentaires

Avez-vous cela fonctionne avec cet en-tête? Si oui, cela vous dérange-t-il d'élaborer votre solution?



0
votes

Je ne sais pas si vous avez déjà compris ce chiffre, mais j'ai passé un certain temps dessus, alors je voulais le lancer à moins que quelqu'un d'autre ne le découvre. Pour moi, je n'utilisais pas le responseContext pour référencer le message parent. C'est ce qui a fonctionné pour moi.

    {
      "Authorization" => "Bearer #{token}",
      "Content-Type" => 'application/json',
      "X-Restli-Protocol-Version" => "2.0.0"
    }

Et les en-têtes devraient être

  "author": "urn:li:person:#{uid of user}",
  "lifecycleState": "PUBLISHED",

  #this part here
  "responseContext": {
    "parent": "urn:li:share:6577220936284545024",
    "root": "urn:li:share:6577220936284545024"
   },

   "specificContent": {
     "com.linkedin.ugc.ShareContent": {
       "shareMediaCategory": "NONE",
        "shareCommentary": {
          "text": "Comment here about the reshared post."
        },
        "media": [],
        "shareCategorization": {}
      }
    },
    "visibility": {
      "com.linkedin.ugc.MemberNetworkVisibility": "PUBLIC"
    }


0 commentaires

0
votes

Un partage d'un ugcPost doit utiliser "responseContext" comme indiqué dans le schéma de la documentation ugcPost: https://docs.microsoft.com/en-us/linkedin/marketing/integrations/community-management/shares/ugc-post-api #schema

Voici un exemple d'appel pour le transfert d'un ugcPost:

cURL:

<?php
$client = new http\Client;
$request = new http\Client\Request;
$request->setRequestUrl('https://api.linkedin.com/v2/ugcPosts');
$request->setRequestMethod('POST');
$body = new http\Message\Body;
$body->append('{
    "lifecycleState": "PUBLISHED",
    "visibility": {
        "com.linkedin.ugc.MemberNetworkVisibility": "PUBLIC"
    },
    "specificContent": {
        "com.linkedin.ugc.ShareContent": {
            "shareMediaCategory": "NONE",
            "shareCommentary": {
                "text": ""
            }
        }
    },
    "responseContext": {
        "parent": "urn:li:ugcPost:123",
        "root": "urn:li:ugcPost:123"
    },
    "author": "urn:li:person:123"
}');
$request->setBody($body);
$request->setOptions(array());
$request->setHeaders(array(
  'x-li-format' => 'json',
  'X-Restli-Protocol-Version' => '2.0.0',
  'Authorization' => 'Bearer ACCESS_TOKEN',
  'Content-Type' => 'application/json'
));
$client->enqueue($request)->send();
$response = $client->getResponse();
echo $response->getBody();

Ruby:

XXX

PHP:

require "uri"
require "net/http"

url = URI("https://api.linkedin.com/v2/ugcPosts")

https = Net::HTTP.new(url.host, url.port);
https.use_ssl = true

request = Net::HTTP::Post.new(url)
request["x-li-format"] = "json"
request["X-Restli-Protocol-Version"] = "2.0.0"
request["Content-Type"] = ["application/json", "application/json"]
request["Authorization"] = "Bearer ACCESS_TOKEN"
request.body = payload.to_json

response = https.request(request)
puts response.read_body


0 commentaires