使用django-social-auth
,您可以捕获某些详细信息,因此Dropbox用户extra_data
如下所示
{"access_token": "oauth_token_secret=XXXXXXXXXXXX&oauth_token=YYYYYYYYYYY", "7200": null, "id": null}
models.py设置如下。
class UserSocialAuth(models.Model):
"""Social Auth association model"""
user = models.ForeignKey(User, related_name='social_auth')
provider = models.CharField(max_length=32)
uid = models.CharField(max_length=255)
extra_data = JSONField(blank=True)
如何单独访问oauth_token和oauth_token_secret?
答案 0 :(得分:1)
使用simplejson
模块解析JSON数据:
from django.utils.simplejson import loads
data = {"access_token": "oauth_token_secret=XXXXXXXXXXXX&oauth_token=YYYYYYYYYYY", "7200": null, "id": null} tokens = parse_qs(loads(data)['access_token'])
json_dict = loads(data)
access_token = json_dict['access_token']
然后使用Jan建议您解析存储在access_token
中的查询字符串:
from urlparse import parse_qs
tokens = parse_qs(access_token)
print tokens['oauth_token_secret']
print tokens['oauth_token']
答案 1 :(得分:0)
要解析access_token
,您可以使用http://docs.python.org/library/urlparse.html#urlparse.parse_qs:
解析作为字符串参数给出的查询字符串(类型为application / x-www-form-urlencoded的数据)。数据作为字典返回。字典键是唯一的查询变量名称,值是每个名称的值列表。