2013-07-11 23 views
7

我尝试了很多方法,但似乎没有工作。帮助我使用python与linkedin建立连接。我拥有所有的令牌。我有python 2.7.5。请发布建立连接并获取用户名的基本代码示例。如何使用linkedin API与python

下面,我已经完成了性格角色,就像例子所说的那样,但它不起作用。

https://github.com/ozgur/python-linkedin < ---这是我得到api的地方,我将它完全复制。请看下图:

CONSUMER_KEY = '9puxXXXXXXXX'  # This is api_key 
CONSUMER_SECRET = 'brtXoXEXXXXXXXX' # This is secret_key 

USER_TOKEN = '27138ae8-XXXXXXXXXXXXXXXXXXXXXXXXXXX' # This is oauth_token 
USER_SECRET = 'ca103e23XXXXXXXXXXXXXXXXXXXXXXXXXXX' # This is oauth_secret 


from linkedin import linkedin 

# 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.... 

application.get_profile() 

我得到这个错误:

Traceback (most recent call last): 
    File "C:/Documents and Settings/visolank/Desktop/Python/programs/linkedinapi.py", line 8, in <module> 
    from linkedin import linkedin 
    File "C:/Documents and Settings/visolank/Desktop/Python/programs\linkedin\linkedin.py", line 2, in <module> 
    from requests_oauthlib import OAuth1 
    File "C:\Python27\lib\site-packages\requests_oauthlib\__init__.py", line 1, in <module> 
    from .core import OAuth1 
    File "C:\Python27\lib\site-packages\requests_oauthlib\core.py", line 4, in <module> 
from oauthlib.oauth1 import (Client, SIGNATURE_HMAC, SIGNATURE_TYPE_AUTH_HEADER) 
    File "C:\Python27\lib\site-packages\requests_oauthlib\oauthlib\oauth1\__init__.py", line 12, in <module> 
    from .rfc5849 import Client 
    File "C:\Python27\lib\site-packages\requests_oauthlib\oauthlib\oauth1\rfc5849\__init__.py", line 26, in <module> 
    from oauthlib.common import Request, urlencode, generate_nonce 
ImportError: No module named oauthlib.common 
+0

可能重复的HTTP ://stackoverflow.com/questions/17350591/why-am-i-getting-an-importerror-when-using-the-linkedin-api-for-python) –

+0

它看起来像我说,它是说你错过了oauthlib模块。你知道你是否安装了它?我认为它可能需要正确安装oauth2 –

+0

我会推荐一些人阅读这里的答案http://stackoverflow.com/questions/31481272/python-linkedin-api-how-do-i-use-it?rq=1 –

回答

8

明白了。对于未来的参考,你需要从这里https://github.com/idan/oauthlib

下载oauthlib这里是全功能的代码:

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 
的[?为什么我使用Python的LinkedIn的API时,我得到一个ImportError(
+1

或者您可以使用内置的OAuth2,如文档所示。如果您无法获得OAuth2应用程序密钥,或者只是因为常见原因而不喜欢OAuth2,则这是正确的答案;否则,这是没有必要的。 – abarnert

+0

它只是打印我的个人资料数据,我如何得到它打印auth网址,然后用户可以登录到并给我auth_code,然后我可以传递给应用程序来获取他们的数据? – scottydelta

+1

看来,所有的LinkedIn现在在应用程序页面显示的是一个客户端ID和一个客户端密码。没有用户令牌或用户密码。 – multigoodverse