我有一个正在试验 Django Allauth 的应用程序,特别是 LinkedIn api。
我在我的设置中定义范围,如下所示:
SOCIALACCOUNT_PROVIDERS = \
{
'linkedin':
{
'SCOPE': ['r_fullprofile', 'r_emailaddress']
}
}
我正在使用以下方法将此信息输出到模板:
{% extends 'base.html' %}
{% load auth_extras %}
{% load account %}
{% load socialaccount %}
{% block content %}
{% if user.is_authenticated %}
{% for key, value in user.socialaccount_set.all.0.extra_data.items %}
<ul>
<li>{{ key }}: {{ value }}</li>
</ul>
{% endfor %}
{% endif %}
{% endblock content %}
当我通过 LinkedIn 授权一个帐户时,我可以看到它要求批准基本资料、电子邮件地址和完整资料。但是该user.socialaccount_set.all.0.extra_data
对象只有基本的个人资料和电子邮件地址数据。完整的个人资料数据发生了什么变化?
此外,user.socialaccount_set.all.0.extra_data
真的是访问提供商公开的所有数据的最佳方式吗?