My Oauth implementation has been working fine on my old sites, but my latest site needs emails from users. I went through the process of getting that approved for the app. Now when you try to sign in with Twitter it lets you know:
This application will be able to:
Read Tweets from your timeline.
See who you follow.
See your email address.
See your email address.
But when I go through the Oauth Session, I don’t get any email field at all.
{
'id': [REDACTED],
'id_str': [REDACTED],
'name': 'Gnubesoft',
'screen_name': 'gnubesoft',
'location': '',
'description': '',
'url': None,
'entities': {'description': {'urls': []}},
'protected': False,
'followers_count': 1,
'friends_count': 1,
'listed_count': 0,
'created_at': 'Wed Mar 06 16:36:10 +0000 2019',
'favourites_count': 0,
'utc_offset': None,
'time_zone': None,
'geo_enabled': False,
'verified': False,
'statuses_count': 0,
'lang': None,
'contributors_enabled': False,
'is_translator': False,
'is_translation_enabled': False,
'profile_background_color': 'F5F8FA',
'profile_background_image_url': None,
'profile_background_image_url_https': None,
'profile_background_tile': False, 'profile_image_url': 'http://pbs.twimg.com/profile_images/1130129920057925633/36X4tQJ9_normal.png', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1130129920057925633/36X4tQJ9_normal.png',
'profile_link_color': '1DA1F2',
'profile_sidebar_border_color': 'C0DEED',
'profile_sidebar_fill_color': 'DDEEF6',
'profile_text_color': '333333',
'profile_use_background_image': True,
'has_extended_profile': False,
'default_profile': True,
'default_profile_image': False,
'following': False,
'follow_request_sent': False,
'notifications': False,
'translator_type': 'none',
'suspended': False,
'needs_phone_verification': False}
Am I missing a step?
The documentation mentions “include_email: True” but it doesn’t explain where that should go in the Oauth shuffle. I’ve tried sticking it in at various places and it seemed to either be ignored or throw an error.
Maybe that’s for people doing JavaScript stuff? I’m just doing a regular Oauth 2 in Python, using the same simple implementation that works everywhere else.