2016-08-03 4 views
2

私はモバイルアプリを持っており、私はTwitterでユーザーを登録する必要があります。Twitter OAuth Echoをverify_credentialに使用すると、どうすればメールを受け取ることができますか?

私は取得していますのparams X-AUTH-サービス・プロバイダーとOAuth EchoのためのX-確認し-資格の承認およびサーバーに送信

Serverはverify_credentialsを呼び出し、Twitterのユーザープロファイルを取得します。

このプロファイルにはユーザーのメールは含まれていません。モバイルアプリでユーザーを認証するには、バックエンドでユーザーのメールを受け取るにはどうすればよいですか。

答えて

3

ユーザーの電子メールアドレスを要求するには、アプリケーションがTwitterによってホワイトリストに登録されている必要があります。これを行うには、次のものが必要です。

  1. formをTwitter APIポリシーサポートに記入してください。
  2. I need access to special permissionsオプションを選択します。
  3. アプリケーション名とIDを入力する必要があります(https://apps.twitter.comから取得できます)。
  4. 許可リストで、必要なアクセス許可を選択します。あなたの場合、それはEmail addressでなければなりません。リクエストが承認されると

を提出するか、あなたが既にホワイトリストに登録している場合、あなたはhttps://apps.twitter.comにし、アプリの権限]セクションの下に戻って行くことができる、新しいチェックボックスRequest email addresses from usersが利用できるようになります。この新しいオプションを有効にする必要があります。プライバシーポリシーのURLと利用規約のURLフィールドも利用できます。

この時点で、account/verify_credentialsリクエストにinclude_emailパラメータを追加できます。

いくつかの関連するポイント:

  • ユーザーがあなたのアプリは、ログイン処理中にメールアドレスを要求していることが通知されます。
  • 確認済みのメールアドレスのみを取得します。ユーザーがメールアドレスを指定しなかった場合や確認しなかった場合は、nullと表示されます。
  • 既に認証済みのユーザーがいる場合は、ユーザーアクセストークンを再生成して電子メールアドレスを取得する必要があります。
+0

ユーザートークンを再生成しました。ありがとうございます! –

2

あなたのアプリが提案https://dev.twitter.com/rest/reference/get/account/verify_credentials

またはあなたが私たちのために

GETリクエストすることができますサーバー側で@Hideo

によって提案されたとしてとしてホワイトリストに登録されている場合は、次のタイプの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ヘッダここでoauth_token

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" 

は、アクセストークンを取得します。

関連する問題