2015-03-10 5 views
2

Я добавил области применения каждому провайдеру, но я не получаю все дополнительные данные в extra_data. Я получаю только дополнительные данные по умолчанию. При использовании oauth facebook запрашивает, чтобы я разрешил использовать данные, но я не получаю такие данные, как user_likes, user_activites. То же самое с google и instagram. Поставщик spotify - это пользовательский поставщик.Django-Allauth Scopes не работает ни на каких провайдерах

SOCIALACCOUNT_PROVIDERS = \ 
    { 
    'facebook': 
     {'SCOPE': ['email', 'public_profile', 'user_activities', 'user_likes', 
'user_interests', 'publish_stream', 'user_friends'], 
      'AUTH_PARAMS': {'auth_type': 'reauthenticate'}, 
      'METHOD': 'js_sdk'}, 

    'google': 
     {'SCOPE': ['https://www.googleapis.com/auth/userinfo.profile', 'https://www.googleapis.com/auth/userinfo.email', 
        'https://www.googleapis.com/auth/youtube.readonly'] 
      , 'AUTH_PARAMS': {}}, 
    'instagram': 
     {'SCOPE': ['basic'] 
      , 'AUTH_PARAMS': {}}, 
    'spotify': 
     {'SCOPE': ['playlist-modify-public', 'user-follow-read', 'user-read-email'] 
      , 'AUTH_PARAMS': {}}, 

    } 

ответ

2

Это, вероятно, слишком поздно, но у меня была та же проблема, забирающий дополнительные данные из Facebook с помощью Джанго-allauth.

Решение состоит в том, чтобы просто перечислить нужные поля.

SOCIALACCOUNT_PROVIDERS = \ 
{ 
'facebook': 
    {'SCOPE': ['email', 'public_profile', 'user_activities', 'user_likes','user_interests', 'publish_stream', 'user_friends'], 
     'AUTH_PARAMS': {'auth_type': 'reauthenticate'}, 
     'METHOD': 'js_sdk', 
     'FIELDS': [ 
     'id', 
     'email', 
     'name', 
     'first_name', 
     'last_name', 
     'likes',  #This is the one you want 
     'friends', 
     # user_interests is deprecated 
    ],}, 

# other providers 

} 

То же самое относится ко всем остальным. Я не могу сказать, что пока не использовал других.