I'm trying to figure out how to access any company profile on LinkedIn. For example, the REST endpoint API for LinkedIn itself is:
https://api.linkedin.com/v1/companies/1337?format=json
with the sample response of:
{
"id": 1337,
"name": "LinkedIn"
}
However, after authenticating with OAuth2 with rw_company_admin
enabled, my app returns:
{
"errorCode": 0,
"message": "Member 206xxxxxx does not have permission to get company 1337",
"requestId": "G6LNMCEZO8",
"status": 403,
"timestamp": 1432358171348
}
This worked up until very recently.
The documentation does note that "In order to perform any of the company page management API calls below, the authenticated LinkedIn user making the requests must be an administrator of the target company." Confusingly, it also says that "The following endpoints are the only ones that will remain available for use... Companies API — /v1/companies/{id}
".
However, my goal isn't to manage a company as an admin, it's to show a user a brief output of the company. How can I get company info?
It looks like they turned that feature off.
See https://developer.linkedin.com/support/developer-program-transition
New requirement for Companies API
All calls to Companies API endpoints will require the authenticated
user to be flagged as an administrator of the LinkedIn Company Page
that is the target of the API call. You become the administrator of a
page when you create it. If the page already exists, you will have to
contact the existing administrator to grant admin access to other
LinkedIn members.
Your API call will return a 403 Forbidden error if you do not have the
appropriate admin permission to interact with the target company.
And in the first line,
On February 12th 2015 we announced a series of changes to our
developer program. These changes have now begun to take affect and
will be rolled out to the entire LinkedIn application base between May
12th - May 19th, 2015.
So we are out of luck.
For accessing the company details from LinkedIn you must make a authenticated request(You must be the administrator of the company). For authenticated calls follow this link. https://developer.linkedin.com/docs/oauth2#!
Anyway, you must have the permission rw_company_admin to access the company details. For that, you must check Default Application Permissions in your App settings and also important to note that when you request for an Authorization Code you must specify the scope.
Use this method to get an authorization code for a company
https://www.linkedin.com/oauth/v2/authorization?response_type=code&client_id=123456789&redirect_uri=https%3A%2F%2Fwww.example.com%2Fauth%2Flinkedin&state=987654321&scope=rw_company_admin
I had issues with this as well even though I was definitely a company admin. Once I added that company as my current place of work on my profile, the API started to respond as expected.