How to use linkedin API with python

前端 未结 2 1527
梦如初夏
梦如初夏 2020-12-25 07:50

I tried so many methods, but none seem to work. Help me make a connection with linkedin using python. I have all the tokens. I have python 2.7.5. Please post a sample of bas

相关标签:
2条回答
  • 2020-12-25 08:35

    You can get USER_TOKEN & USER_SECRET in such way (if you have CONSUMER_KEY & CONSUMER_SECRET):

    import oauth2 as oauth
    import urllib
    
    consumer_key = '' #from Linkedin site
    consumer_secret = '' #from Linkedin site
    consumer = oauth.Consumer(consumer_key, consumer_secret)
    client = oauth.Client(consumer)
    
    request_token_url = 'https://api.linkedin.com/uas/oauth/requestToken'
    resp, content = client.request(request_token_url, "POST")
    if resp['status'] != '200' :
        raise Exception('Invalid response %s.' % resp['status'])
    content_utf8 = str(content,'utf-8')
    request_token = dict(urllib.parse.parse_qsl(content_utf8))
    authorize_url = request_token['xoauth_request_auth_url']
    
    print('Go to the following link in your browser:', "\n")
    print(authorize_url + '?oauth_token=' + request_token['oauth_token'])
    
    accepted='n'
    while accepted.lower() == 'n' :
        accepted = input('Have you authorized me? (y/n)')
    oauth_verifier = input('What is the PIN?')
    
    access_token_url = 'https://api.linkedin.com/uas/oauth/accessToken'
    token = oauth.Token(request_token['oauth_token'], request_token['oauth_token_secret'])
    token.set_verifier(oauth_verifier)
    client = oauth.Client(consumer, token)
    resp, content = client.request(access_token_url, 'POST')
    content8 = str(content,'utf-8')
    access_token = dict(urllib.parse.parse_qsl(content8))
    
    print('Access Token:', "\n")
    print('- oauth_token        = ' + access_token['oauth_token']+'\n')
    print('- oauth_token_secret = ' + access_token['oauth_token_secret'])
    print('You may now access protected resources using the access tokens above.')
    
    0 讨论(0)
  • 2020-12-25 08:38

    Got it. For future reference you need to download the oauthlib from here https://github.com/idan/oauthlib

    here is the full functional code:

    CONSUMER_KEY = '9pux1XcwXXXXXXXXXX'     # This is api_key
    CONSUMER_SECRET = 'brtXoXEXXXXXXXXXXXXX'   # This is secret_key
    
    USER_TOKEN = '27138ae8-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXb'   # This is oauth_token
    USER_SECRET = 'ca103e23-XXXXXXXXXXXXXXXXXXXXXXXX7bba512625e'   # This is oauth_secret
    RETURN_URL = 'http://localhost:8000'
    
    from linkedin import linkedin
    from oauthlib import *
    
    # Define CONSUMER_KEY, CONSUMER_SECRET,  
    # USER_TOKEN, and USER_SECRET from the credentials 
    # provided in your LinkedIn application
    
    # Instantiate the developer authentication class
    
    authentication = linkedin.LinkedInDeveloperAuthentication(CONSUMER_KEY, CONSUMER_SECRET, 
                                                          USER_TOKEN, USER_SECRET, 
                                                          RETURN_URL, linkedin.PERMISSIONS.enums.values())
    
    # Pass it in to the app...
    
    application = linkedin.LinkedInApplication(authentication)
    
    # Use the app....
    
    g = application.get_profile()
    print g
    
    0 讨论(0)
提交回复
热议问题