在Django应用中集成LinkedIn API
我正在尝试使用python-linkedin这个包从LinkedIn的API获取访问令牌,相关信息可以在https://github.com/ozgur/python-linkedin找到,以下是我使用的代码:
def get_linkedin_token(request):
access_code = request.GET.get('code')
if access_code is None:
request.session['authentication'] = linkedin.LinkedInAuthentication(
LINKEDIN_CONSUMER_KEY,
LINKEDIN_CONSUMER_SECRET,
RETURN_URL,
linkedin.PERMISSIONS.enums.values())
**url = request.session['authentication'].authorization_url**
return HttpResponseRedirect(url)
else:
request.session['authentication'].authorization_code = access_code
access_token = authentication.get_access_token()
return HttpResponse(access_token)
上面的代码在url那里出现了一个类型错误,提示'不是JSON可序列化的';当我在浏览器中打开这个网址时,一切正常,但在应用程序中却出现了这个错误。请问这是怎么回事,我该如何解决呢?谢谢!
1 个回答
0
上面的代码是对的,只需要在这一行做个小修正:
access_token = authentication.get_access_token()
应该改成:
access_token = request.session['authentication'].get_access_token()
因为我把认证对象初始化成了会话变量,但调用的时候没有用到 request.session[ ]。所以这样做之后,任何人都可以轻松地用 python-linkedin 获取 LinkedIn API 的访问令牌。