Linkedin 401错误通过python

时间:2016-02-23 02:43:44

标签: python linkedin oauth2

尝试使用Python访问LinkedIn Developer API,但在调用linkedin API时遇到401错误。你能帮忙吗?

Traceback (most recent call last):
  File "user_request.py", line 33, in <module>
    print app.get_profile()
  File "/Users/bchawla/anaconda/lib/python2.7/site-packages/linkedin/linkedin.py", line 179, in get_profile
    raise_for_error(response)
  File "/Users/bchawla/anaconda/lib/python2.7/site-packages/linkedin/utils.py", line 63, in raise_for_error
    raise LinkedInError(message)
linkedin.exceptions.LinkedInError: 401 Client Error: Unauthorized for url: https://api.linkedin.com/v1/people/~: Unknown Error

详细代码如下 -

import oauth2 as oauth
import urlparse
from linkedin import linkedin

consumer_key           = "{Key}"
consumer_secret        = "{Secret}"
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'])

print content

request_token = dict(urlparse.parse_qsl(content))

print "    - oauth_token        = %s" % request_token['oauth_token']
print "    - oauth_token_secret = %s" % request_token['oauth_token_secret']


auth = linkedin.LinkedInDeveloperAuthentication(consumer_key, consumer_secret,
request_token['oauth_token'], request_token['oauth_token_secret'], '',
permissions=linkedin.PERMISSIONS.enums.values())

print linkedin.PERMISSIONS.enums.values()

app = linkedin.LinkedInApplication(auth)

print app.get_profile()

1 个答案:

答案 0 :(得分:3)

大多数旧的linkedin API,包括您尝试使用的人员API,已被折旧并仅限于预先批准的开发人员 - 您现在需要成为其开发计划的一部分(仅限于他们积极合作的一小部分公司。)

请参阅:https://developer-programs.linkedin.com/documents/people-search-api

  

People Search API是我们的Vetted API访问计划的一部分。在使用此API之前,您必须在此处申请并获得LinkedIn的批准。

另请参阅:https://developer.linkedin.com/blog/posts/2015/developer-program-changes

  

从2015年5月12日开始,我们将仅限制开放API   支持以下用途:

     
      
  • 允许会员通过他们的代表来表示他们的职业身份   LinkedIn个人资料使用我们的个人资料API。
  •   
  • 允许会员发帖   使用我们的添加到。直接通过他们的LinkedIn个人资料认证   个人资料工具。
  •   
  • 允许会员分享专业内容   来自整个网络的LinkedIn网络利用我们的Share API。
  •   
  • 让我们的公司能够与LinkedIn分享专业内容   公司API。
  •   

这与您收到的错误代码一致 - 401 - Unauthorized: Access is denied due to invalid credentials. - 如果您不属于他们的开发者计划,则您没有有效的凭据来访问它。