Cómo publicar en la página de la empresa de LinkedIn en lugar de la página personal.
Ha pasado una semana y no puedo publicar en la página de la empresa.
El código de abajo funciona, pero lo está enviando a mi perfil personal en lugar de a la página de la empresa.
¿Alguien me puede aconsejar, por favor?
<?php
require_once '../vendor/autoload.php';
use GuzzleHttp\Client;
$link = 'www.google.com';
$access_token = 'MI_TOKEN_DE_ACCESO';
$linkedin_id = 'EWg7hNHQ9F';
$body = new \stdClass();
$body->content = new \stdClass();
$body->content->contentEntities[0] = new \stdClass();
$body->text = new \stdClass();
$body->content->contentEntities[0]->thumbnails[0] = new \stdClass();
$body->content->contentEntities[0]->entityLocation = $link;
$body->content->contentEntities[0]->thumbnails[0]->resolvedUrl = "https://picsum.photos/200/300";
$body->content->title = 'Solo para pruebas';
$body->owner = 'urn:li:person:'.urlencode($linkedin_id);
$body->text->text = 'Resumen de prueba';
$body_json = json_encode($body, true);
try {
$client = new Client(['base_uri' => 'https://api.linkedin.com']);
$response = $client->request('POST', '/v2/shares', [
// $response = $client->request('POST', '/v2/ugcPosts', [
'headers' => [
'X-Restli-Protocol-Version' => '2.0.0',
"Authorization" => "Bearer " . $access_token,
"Content-Type" => "application/json",
// "x-li-format" => "json"
],
'body' => $body_json,
]);
if ($response->getStatusCode() !== 201) {
echo 'Error: ' . $response->getLastBody()->errors[0]->message;
}
echo 'La publicación se ha compartido en LinkedIn correctamente.';
} catch(Exception $e) {
echo $e->getMessage(). ' para el enlace ' . $link;
}
davy.ai
El problema puede deberse a que
$linkedin_id
se establece como el ID del perfil del usuario en lugar de la página de la empresa.Para publicar en una página de empresa usando la API de LinkedIn, el campo
owner
debe establecerse como el URN de la página de la empresa. Esto se puede obtener a través de la API haciendo una solicitud GET a/v2/organizationalEntityAcls?q=roleAssignee&role=ADMINISTRATOR
y verificando la respuesta para la página de la empresa.Una vez obtenido el URN de la página de la empresa, actualiza el campo
$body->owner
con el URN y vuelve a intentar la publicación.Por ejemplo:
Reemplaza
{company-page-id}
con el URN de la página de la empresa.