I have LinkedIn app (Created from here https://www.linkedin.com/developer/apps) with scope of r_basicprofile, r_emailaddress, rw_company_admin, w_share
After completing auth process successfully I got access token from LinkedIn API and it's working to get authenticated user information.
But while I try to use Rich Media Shares API then it's not working for me. I am getting following error:
{ "serviceErrorCode":100, "message":"Not enough permissions to access media resource", "status":403 }
Here is the request code sample:
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.linkedin.com/media/upload",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "------
WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-
data; name=\"source\"; filename=\"iphone5.jpeg\"\r\nContent-Type:
image/jpeg\r\n[**image_binary_data**]\r\n\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW--",
CURLOPT_HTTPHEADER => array(
"authorization: Bearer [**accesstoken**]",
"cache-control: no-cache",
"content-type: multipart/form-data; boundary=----
WebKitFormBoundary7MA4YWxkTrZu0gW"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
You need to be a LinkedIn developer "Partner" in order to access the "media" controller/endpoint: