if (!
$options &&
$notification =
$message->
getNotification()) { $options = LinkedInOptions::
fromNotification($notification);
$options->
author(new AuthorShare($this->accountId
));
} $endpoint =
sprintf('https://%s/v2/ugcPosts',
$this->
getEndpoint());
$response =
$this->client->
request('POST',
$endpoint,
[ 'auth_bearer' =>
$this->authToken,
'headers' =>
['X-Restli-Protocol-Version' => '2.0.0'
],
'json' =>
array_filter($options?->
toArray() ??
$this->
bodyFromMessageWithNoOption($message)),
]);
try { $statusCode =
$response->
getStatusCode();
} catch (TransportExceptionInterface
$e) { throw new TransportException('Could not reach the remote LinkedIn server.',
$response, 0,
$e);
} if (201 !==
$statusCode) { throw new TransportException(sprintf('Unable to post the Linkedin message: "%s".',
$response->
getContent(false
)),
$response);
}