tschellenbach / Django-facebook

Facebook open graph api implementation using the Django web framework in python
http://www.mellowmorning.com/
Other
1.43k stars 544 forks source link

no 'email ' in facebook_data #599

Open krzysztof-adamski opened 7 years ago

krzysztof-adamski commented 7 years ago

facebook_data = converter.facebook_profile_data() is without 'email'

JS SDK

FB.api('/me?fields=name,email', function(response) { console.log(response); });

` @classmethod def _convert_facebook_data(cls, facebook_profile_data, username=True): ''' Takes facebook user data and converts it to a format for usage with Django ''' user_data = facebook_profile_data.copy() profile = facebook_profile_data.copy() website = profile.get('website') if website: user_data['website_url'] = cls._extract_url(website)

    user_data['facebook_profile_url'] = profile.get('link')
    user_data['facebook_name'] = profile.get('name')

NO EMAIL !!!!! WHY ????

    if len(user_data.get('email', '')) > 75:
        # no more fake email accounts for facebook
        del user_data['email']

`

Please add the option to set the API version in OpenFacebook Creating an account with form filling for a model is nonsense - it is no 'login via facebook'. How to make automatic registration without email ???

mach24 commented 7 years ago

It looks like the email does not appear because of the note mentioned in this bug: https://developers.facebook.com/bugs/298946933534016/ . Since OpenFacebook just puts v1.0 as the API version, which is unsupported, Facebook automatically changes it to v2.5. The note in the page above says that all fields must be explicitly given in any API call. Maybe adding email to the API calls in OpenFacebook will fix the issue.