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
プロバイダーによって公開されたすべてのデータにアクセスするための最良の方法は本当にありますか?