4
votes

Impossible de publier dans un groupe LinkedIn via l'API

Lors de la publication dans un groupe via l'API LinkedIn, suivez l'exemple "Créer une publication de groupe" ici:

https://docs.microsoft.com/en-us/linkedin/compliance/integrations/groups/group-posts-and-actions?context=linkedin/compliance/context

Je reçois toujours: "Champs non autorisés présents dans REQUEST_BODY: Exception de traitement des données lors du traitement des champs [/ containerEntity]"

Notre application est un partenaire de plate-forme de développement marketing. J'obtiens les autorisations w_organization_social, w_member_social, rw_organization_admin, r_liteprofile, r_emailaddress lors de l'autorisation. Je peux publier avec succès sur une page d'organisation.

Comment pourrais-je corriger cette erreur? Avons-nous besoin de demander des autorisations supplémentaires?

Détails de la demande:

REQUEST: https://api.linkedin.com/v2/ugcPosts
METHOD: HttpMethod(value=POST)
COMMON HEADERS
-> X-Restli-Protocol-Version: 2.0.0
-> Authorization: Bearer <...>
-> Accept: application/json
-> Accept-Charset: UTF-8
BODY Content-Type: application/json

Request body:
{
  "author": "url:li:person:<id>",
  "containerEntity": "urn:li:group:<id>",
  "specificContent": {
    "com.linkedin.ugc.ShareContent": {
      "media": [
        {
          "description": {
            "text": "Check out our awesome group!",
            "attributes": []
          },
          "status": "READY",
          "thumbnails": [],
          "title": {
            "text": "Group Post!",
            "attributes": []
          }
        }
      ],
      "shareCommentary": {
        "text": "Some group text",
        "attributes": []
      }
    }
  },
  "visibility": {
    "com.linkedin.ugc.MemberNetworkVisibility": "CONTAINER"
  },
  "lifecycleState": "PUBLISHED"
}


0 commentaires

3 Réponses :


-1
votes

Puisque vous utilisez le nouveau protocole X-Restli-Protocol V2, vous devriez essayer de changer n'importe quelle instance d'une liste "[quelque chose, quelque chose2]" par "Liste (quelque chose, quelque chose2)". N'oubliez pas de coder url (encodeURIComponent () pour javascript) tout URN que vous passez à cette liste.

Heureux de vous aider.


2 commentaires

Merci, mais containerEntity (sur lequel porte l'erreur) n'est pas une liste.


Après le codage d'url de containerEntity, je reçois toujours la même erreur: "Champs non autorisés présents dans REQUEST_BODY: Exception de traitement des données lors du traitement des champs [/ containerEntity]"



1
votes

Je regardais l'exemple de code dans votre lien:

{
    "author": "urn:li:person:123ABC", 
    "containerEntity": "urn:li:group:123", 
    "lifecycleState": "PUBLISHED", 
    "specificContent": {
        "com.linkedin.ugc.ShareContent": {
            "media": [
                {
                    "description": {
                        "attributes": [], 
                        "text": "Check out our awesome group!"
                    }, 
                    "status": "READY", 
                    "thumbnails": [], 
                    "title": {
                        "attributes": [], 
                        "text": "Group Post!"
                    }
                }
            ], 
            "shareCommentary": {
                "attributes": [], 
                "text": "Some group text"
            }
        }
    }, 
    "visibility": {
        "com.linkedin.ugc.MemberNetworkVisibility": "CONTAINER"
    }
}

J'ai remarqué que dans l'exemple de code, il s'agit du support: []

Mais dans votre code, vous n'avez pas utilisé de [] C'est probablement pourquoi vous recevez ce message d'erreur.


8 commentaires

J'ai corrigé cela sans aucun succès. L'erreur est la même. Veuillez noter que l'erreur concerne le champ "containerEntity".


@AndreyMinogin pouvez-vous poster exactement votre code? Sur cette page: docs.microsoft.com/en-us/linkedin/marketing/integrations/ ... il y a un exemple d'erreur pour les champs non autorisés, où l'utilisateur essaie de publier une image dans un commentaire en ligne. Cela me suggère que vous publiez peut-être quelque chose qui n'est pas autorisé pour la destination à laquelle vous publiez. Pouvez-vous supprimer tout ce qui est facultatif de la publication et voir si la demande aboutit? Ensuite, nous pouvons déterminer quel est le champ non autorisé et partir de là ...


@AndreyMinogin faites ceci: supprimez tous les champs facultatifs jusqu'à ce que vous ayez une demande réussie. Continuez ensuite à ajouter des champs jusqu'à ce qu'il se brise à nouveau. Ensuite, nous saurons quel est le coupable.


@AndreyMinogin, l'autre problème pourrait être dans la ligne containerentity elle-même. Pourriez-vous partager exactement à quoi cela ressemble?


J'ai partagé le corps exact de la demande que j'envoie, à l'exception des valeurs d'identifiant exactes. Je ne suis pas autorisé à partager les identifiants exacts des groupes et des membres ici. Vous pouvez essayer avec votre propre identifiant de membre et de groupe.


@AndreyMinogin Je pense que l'erreur est dans votre ligne containerEntity. Je vérifierais si dans votre code réel s'il y a des caractères inattendus ou une syntaxe incorrecte, ou si la manière dont vous spécifiez l'identifiant est incorrecte.


La valeur réelle est: "containerEntity": "urn: li: group: 12447845"


@AndreyMinogin tout ce qui me vient à l'esprit, c'est qu'il doit y avoir quelque chose qui ne va pas dans cette ligne. Une faute de frappe peut-être?



0
votes

En supposant que votre erreur complète est la même que celle de ce post:

{"serviceErrorCode": 100, "message": "Champs non autorisés présents dans REQUEST_BODY: Exception de traitement des données lors du traitement des champs [/ containerEntity]", "status": 403}

403 étant une erreur interdite, vous n'avez pas mentionné l' autorisation r_organization_social pour le point de terminaison ugcposts. Vous avez besoin de w_organization_social, r_organization_social, w_member_social et votre OP w_organization_social, r_organization_social, w_member_social que 2 des 3.

Un message UGC ne peut pas être envoyé sans containerEntity, vous ne pouvez donc pas simplement le supprimer et le tester, et la mise en forme que vous utilisez semble correcte par rapport à leurs documents pour V2. Pas un partenaire LinkedIn, donc je ne peux malheureusement pas tester et corroborer l'erreur moi-même, mais vérifiez que vous disposez de toutes les autorisations appropriées.


0 commentaires