def get(self, request, *args, **kwargs):
code = request.GET.get('code', '')
if not code:
raise Http404
config = SocialConfig.get_solo()
redirect_uri = self.request.build_absolute_uri(resolve_url('admin_social_networks:linkedin_token'))
response = requests.post(
'https://www.linkedin.com/oauth/v2/accessToken',
data={
'grant_type': 'authorization_code',
'client_id': config.linkedin_client_id,
'client_secret': config.linkedin_client_secret,
'redirect_uri': redirect_uri,
'code': code,
}
)
answer = response.json()
if answer and 'access_token' in answer:
SocialConfig.objects.update(linkedin_access_token=answer['access_token'])
add_message(request, SUCCESS, _('LinkedIn access_token updated successfully!'))
return redirect('admin:social_networks_socialconfig_change')
else:
return HttpResponse(response.text)
评论列表
文章目录