2016-08-03 48 views
2

我有移動應用程序,我需要用twitter註冊用戶。使用Twitter OAuth Echo進行verify_credential,我如何獲得電子郵件?

我越來越PARAMS X-AUTH-服務提供商和X-確認的憑證,授權OAuth Echo並將它們發送到服務器

服務器調用verify_credentials並獲得Twitter的用戶配置文件。

但是此配置文件不包含用戶的電子郵件,我如何在移動應用授權用戶的同時在後端獲取用戶的電子郵件?

回答

3

要請求用戶的電子郵件地址,您的應用程序需要被Twitter列入白名單。爲此,您需要:

  1. 在Twitter API策略支持中填寫以下form。選擇I need access to special permissions選項。
  2. 您需要填寫您的應用程序名稱和ID(您可以從https://apps.twitter.com獲取這些信息)。
  3. 在權限列表中,選擇您需要的權限。在你的情況下,它應該是Email address
  4. 提交

一旦申請獲得批准,或者如果你已經列入白名單,你可以回去https://apps.twitter.com並根據應用程序的權限部分,一個新的複選框Request email addresses from users將可用。您需要啓用這個新選項。隱私政策網址和服務條款網址字段也可用。

此時,您可以將include_email參數添加到您的account/verify_credentials請求中。

一些相關的要點:

  • 用戶將被告知,你的應用程序請求在登錄過程中的電子郵件地址。
  • 您只會收到經過驗證的電子郵件地址,如果用戶沒有提供任何電子郵件地址或未驗證,您將獲得null
  • 如果您已經擁有經過身份驗證的用戶,則需要重新生成用戶訪問令牌以獲取電子郵件地址。
+0

重新生成用戶令牌幫助,非常感謝! –

2

如果按照建議https://dev.twitter.com/rest/reference/get/account/verify_credentials

您的應用程序列入白名單或@Hideo

的建議在服務器端,您能給我們

GET請求:https://api.twitter.com/1.1/account/verify_credentials.json?include_email=true

有以下類型auth 1。

{ 
    "id": 75534037587985****, 
    "id_str": "75534037587985****", 
    "name": "tester", 
    "screen_name": "*********", 
    "location": "", 
    "description": "", 
    "url": null, 
    "entities": { 
    "description": { 
     "urls": [] 
    } 
    }, 
    "protected": false, 
    "followers_count": 0, 
    "friends_count": 19, 
    "listed_count": 0, 
    "created_at": "Tue Jul 19 09:55:54 +0000 2016", 
    "favourites_count": 0, 
    "utc_offset": null, 
    "time_zone": null, 
    "geo_enabled": false, 
    "verified": false, 
    "statuses_count": 0, 
    "lang": "en", 
    "contributors_enabled": false, 
    "is_translator": false, 
    "is_translation_enabled": false, 
    "profile_background_color": "F5F8FA", 
    "profile_background_image_url": null, 
    "profile_background_image_url_https": null, 
    "profile_background_tile": false, 
    "profile_image_url": "http://abs.twimg.com/sticky/default_profile_images/default_profile_4_normal.png", 
    "profile_image_url_https": "https://abs.twimg.com/sticky/default_profile_images/default_profile_4_normal.png", 
    "profile_link_color": "2B7BB9", 
    "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": true, 
    "following": false, 
    "follow_request_sent": false, 
    "notifications": false, 
    "email": "[email protected]" 
} 

讓我知道如果你有任何問題:這裏http://oauth.net/core/1.0/#anchor12

建議您將得到響應以下類型0 HTTP頭

Authorization: OAuth oauth_consumer_key="KgpUD2nx5UCH9DllSIM4D****", 
       oauth_nonce="77252745154355061291979480247359", 
       oauth_signature="jPd5e5Z5ibKDb40JUjAuDVpi9TU%3D", 
       oauth_signature_method="HMAC-SHA1",  oauth_timestamp="1471161684", 
       oauth_token="76472850016308****-qOqGdpxuVvT7Z7s5n9NFXqzIr11****", 
       oauth_version="1.0" 

這裏的oauth_token將獲得訪問令牌。

相關問題