Why do I have access to the LinkedIn Full Profile without having to go through the "Apply with LinkedIn" API? - linkedin

The LinkedIn Developer documentation states that full profile information is only accessible when calling the "Apply with LinkedIn" API.
But in practice, when doing a simple test using my own LinkedIn profile I manage to access the Full Profile fields via a "Sign in with LinkedIn" call (I use the JavaScript SDK btw).
That's all very nice because it means that I can access more fields than I expected via the "Sign in with LinkedIn" API, but isn't that a security bug?
PS: If you're a LinkedIn developer, there is a typo error on the Basic Profile fields page: field specialities should be spelled specialties.

you are accessing the data for your own profile that's y u can access all fields .. if you try to access any one else's full profile then you can't retrieve data from those profile . data retrieval of those profiles are limited to basic profile fields only

#JustinKominar's comment is the answer:
There is a blog post (https://developer.linkedin.com/blog/posts/2015/developer-program-changes) that explains that the recently announced changes to LinkedIn's API program will take effect on May 12th, 2015. You still have access because we are still in the transition period between the announcement and formal change. Presently, all previously documented capabilities are still available to you.

Related

Is there an API that allows a candidate search query?

We're looking into integrating with LinkedIn so that we can feed our users with lists of job candidates, and then send our users back to LinkedIn in order to view relevant profiles. I'm not seeing any relevant API docs regarding this. Is this something that is possible to do via your API today or in the near future?
Right now, LinkedIn gives only the scope of r_liteprofile and r_emailaddress to Retrieve authenticated member's name, headline, photo, and member's primary email address.
To get the relevant candidate for the job, you may need to check skills, projects, etc, for that you need the permission of r_fullprofile,
LinkedIn API has restricted such information as per their documentation:
https://learn.microsoft.com/en-us/linkedin/shared/references/v2/profile/full-profile
As per their documentation, to access the information of skills, address, etc, your app needs to request r_fullprofile. But they have closed it now and no alternate is given. The more detail about the current permissions from LinkedIn can be seen here:
https://learn.microsoft.com/en-us/linkedin/shared/authentication/getting-access
Right now there are currently in development mode. They are working on developing their APIs. What and when they will release such information is not available to document right now.

How can I retrieve a list of all employees within a company through the LinkedIn API?

Years ago, someone asked on Stack Overflow if it were possible to retrieve a list of all employees who work at a company. I can do this through the LinkedIn UI, but I cannot seem to find any mechanism for this using the v2 API. The SO response mentions this used to be possible on the v1 API, but you had to request access through LinkedIn's "Vetted API Access Program." Unfortunately, the link on this response is now obsolete and does not send users to any such program.
How could I apply for this program nowadays? This is a specific situation to me and my company, so I would very much like to discuss this with someone at LinkedIn if some form of this Vetted API Access Program still exists. I do not wish to disclose the details of this request to the open internet.
I have confirmed through contacts inside LinkedIn that this API functionality has been removed. No further information has been provided, and LinkedIn tech support refuses to comment any more on this issue. Furthermore, no LinkedIn engineers will comment on this thread here.
This is bizarre since any regular user can do this functionality through the web front-end, but for some reason LinkedIn believes this would be a violation of privacy/security if we could do this programmatically.
Therefore, the only way to obtain this data would be through screen scraping. I wish I had better news, and I wish that LinkedIn would provide some reasoning for their changes, but alas this is where we are.
I just posted a very similar question because I ran into the same problem as you.
The application forms for Linkedin's current partner programs seem to be located here, however I can't tell you which one of those programs comes with the necessary API access rights and I am in general not sure if this API request is still allowed.
Edit: The Linkedin Help page states that applications for partner programs are currently unavailable?
In general, you can get a list of employees of a company if you scrape Linkedin profiles exhaustively, or if you have an exhaustive dataset of Linkedin profiles.
Each Linkedin profile contains a list of experiences that links to the company profile URL.
Thereafter, you will filter the dataset into profiles currently working at X company to get a list of employees currently working in a company. The same technique can also be used to retrieve a list of past employees.
And that is what we did. We scraped all public Linkedin profiles based in the US and made an alternative API known as Proxycurl Employee Listing API to Linkedin API to provide employee listing functionality.
Proxycurl's Employee Listing API will never be as exhaustive as Linkedin's dataset because not all profiles are made public, but most are. But will suffice to meet your needs.

With the new r_liteprofile is it possible to know the authenticated user's LinkedIn profile URL?

We're using Sign in with LinkedIn, which is deprecating the r_basicprofile scope that offered the profile URL. I don't see a way to get this information using the new r_liteprofile scope. Was that intentionally left out? It seems odd that LinkedIn wouldn't want to drive people back to their own site.
Deadlock :) or just changes of LinkedIn policies.
According this tiny article Public Profile Url you have to use vanityName which is available from r_basicprofile which is not going to be deprecated but available only for Enterprise LinkedIn users :(
Quoting from Self-Serve v1 to v2 API Migration Frequently Asked Questions:
Looking to maintain access to the Basic Profile fields? Learn more
about LinkedIn Developer Enterprise products.

LinkedIn API - What is the "Specialties" field?

In the LinkedIn API for "Sign in with LinkedIn", access is provided to several basic profile fields of a user, including "specialties." Does anyone have a sense of what this field refers to? LinkedIn got rid of "specialties" as an entry in their profile, so I'm wondering what data the API would be pulling for the "specialties" field?
https://developer.linkedin.com/docs/fields/basic-profile
The specialties field has been removed from the API, but the change hasn't been documented. Take a look here.

LinkedIn New API - Can't Get r_network Permission

I inherited a program that was written with the old LinkedIn API, and I'm trying to migrate it to the new API. When I try to get the r_basicprofile permission, my oauth token works. However, when I try r_network or rw_nus, I get a response
invalid scope -- your application has not been authorized for
r_network.
Yet, when I go to www.linkedin.com/developer/apps/xxxx/auth, the boxes for r_network and rw_nus are checked.
I.e., A request to
https://www.linkedin.com/uas/oauth2/authorization?response_type=code&client_id=xxxxxx&scope=r_basicprofile&state=yyyy&redirect_uri=http%3A%2F%2Fkalatublog.com%2Fwp-content%2Fmu-plugins%2Fimb-en%2Fhelpers%2Fsocial-connect%2Fapi%2Ffinalize.php%3Fapi%3Dlinkedin%26ch%zzzzz
works, but a request to
https://www.linkedin.com/uas/oauth2/authorization?response_type=code&client_id=xxxxxx&scope=r_network&state=yyyy&redirect_uri=http%3A%2F%2Fkalatublog.com%2Fwp-content%2Fmu-plugins%2Fimb-en%2Fhelpers%2Fsocial-connect%2Fapi%2Ffinalize.php%3Fapi%3Dlinkedin%26ch%zzzzz
gives that error. What am I doing wrong?
As of May 15,
After the grace period expires, several REST API endpoints will no longer be available for general use. The following endpoints are the only ones that will remain available for use:
Profile API — /v1/people/~ `
Share API — /v1/people/~/shares
Companies API — /v1/companies/{id}
If your application is currently using any other API services (e.g. Connections, Groups, People Search, Invitation, Job Search, etc.) you will have to apply to become a member of a relevant Partner Program that provides the necessary API access to continue to leverage any of the endpoints that are not listed above.
It looks like linkedin no longer wants to share anything with their API. Creating a new app indicates that the only possible options are r_basicprofile, r_emailaddress, rw_company_admin, and w_share:
TLDR: they have locked down the API and restricted the usage to an extremely limited set of access points.
I did some more digging. The linkedin website is misleading. On my app linkedin page, it says that I'm approved for rw_nus and r_network, but on this page
https://developer.linkedin.com/support/developer-program-transition
it says those are no longer approved.
So the app home page in linkedin incorrectly said I had those permissions.
Heres the link if you want to Apply for Linkedin
https://help.linkedin.com/app/ask/path/api-dvr

Resources