Innovate anywhere, anytime withruncode.io Your cloud-based dev studio.
Django

Integration of Linkedin API in Python Django

2022-07-25

Integration Of Linkedin API in Python Django

Using Linkedin integration by Django, we can get the user verified email id, general information, work history in a less span of time, and a user can also share articles.

These Following steps are needed for Linkedin Integration:

  1. Creating a LinkedIn app
  2. Authenticating the user and getting an access token
  3. Get user information, and work history using the access token

1. Creating Linkedin App

Here you can give the application name, description, logo, email, and website URL, and then the application will be created

email address, company admin, and can share an article.

2. Authenticating user and getting an access token

a. Here We have to create a GET request for asking user permission.

GET "https://www.linkedin.com/uas/oauth2/authorization?response_type=code&client_id=LN_API_KEY&scope=r_basicprofile r_emailaddress rw_company_adminw_share&state=8897239179ramya&redirect_uri=Redirect_URL"

LN_API_KEY: your application client id,

SCOPE: List of permissions to request from the person using your app

REDIRECT_URI: The URL which you want to redirect after user login

    1. If a user accepts the permissions, then the authorization code send to redirected URL
    2. Then we get an access token using the Urllib with the following params
params = {
                  'grant_type' = 'authorization_code',
                  'code' = 'Your Authorization Code'
                  'redirect_uri' = 'Redirect Url',
                  'client_id' = 'Your Application Client id',
                  'client_secret' = 'Your Application Client secret key',
       }
       params = urllib.urlencode(params)
       info = urllib.urlopen("https://www.linkedin.com/uas/oauth2/accessToken", params)
       accesstoken = json.loads(info.readline())['access_token']

3. Get user information using access token

rty = "https://api.linkedin.com/v1/people/~:(id,first-name,last-name,email-address,location,positions,educations,industry,public-profile-url,picture-urls::(original))?format=json&oauth2_access_token={{Your Accesstoken}}"

   details = urllib2.urlopen(rty).read()
   details = json.loads(details)

From the details, You can get the user linkedin id, profile url, first name, last name, work history, email.