我是Python的新手,我想测试Linkedin API。我从该站点获得了一个认证代码示例(使用oauth2):https : //github.com/ozgur/python-linkedin
我想我在Linkedin上的应用配置没有错:
ID客户端:XXX
秘密客户:YYY
选中所有这些框:r_basicprofile,r_emailaddress,rw_company_admin,w_share
OAuth 2.0 =>授权的URL:http:// localhost:8000
这是代码:
#-*- coding: utf-8 -*-
from linkedin import linkedin
API_KEY = 'XXX'
API_SECRET = 'YYY'
RETURN_URL = 'http://localhost:8000'
authentication = linkedin.LinkedInAuthentication(API_KEY, API_SECRET, RETURN_URL)
print "authentication.authorization_url : " + authentication.authorization_url
print "authentication.key : " + authentication.key
print "authentication.secret : " + authentication.secret
print "authentication.redirect_uri : " + authentication.redirect_uri
print "authentication.state : " + authentication.state
print authentication.authorization_code
print authentication.token
print authentication._error
application = linkedin.LinkedInApplication(authentication)
结果是:
authentication.authorization_url:https : //www.linkedin.com/uas/oauth2/authorization?scope=&state=a2eb48d9b7b5f94a24dfbf36d498ebdc&redirect_uri= http %3A//localho st%3A8000&response_type = code&client_id = XXX
authentication.key:XXX
authentication.secret:YYY
authentication.redirect_uri:http:// localhost:8000
authentication.state:a2eb48d9b7b5f94a24dfbf36d498ebdc
没有任何
没有任何
没有任何
我不明白为什么我的authorization_code是“无”。根据git hub链接,redirect_url应该包含URL +授权代码。这里只有URL,因此无法继续进行身份验证。
我做了一些研究,但找不到任何东西。有人知道我的代码或配置有什么问题吗?
谢谢!
好吧,我终于发现了这是怎么回事!
authentication = linkedin.LinkedInAuthentication(API_KEY, API_SECRET, RETURN_URL)
这将返回一个URL(例如:https : //www.linkedin.com/uas/oauth2/authorization?scope=r_basicprofile%20r_emailaddress&state=4a8b5b5932f182fff0a1731ebfbb05ef&redirect_uri= http%3A//localhost%3A8000 &response_type=code&client_id=XXX)。我必须在浏览器中打开此URL,才能使用Linkedin帐户登录。然后将我重定向到此URL:http:// localhost%3A8000 /?code = my_code&state = 31624da3ad7331c11def407de0a56cc4
my_code是用于获取令牌的代码。
authentication.authorization_code = 'my_code'
authentication.get_access_token()
获得令牌后,我可以提出一些使用API的请求。
希望对您有所帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句