85

私は OAuth を初めて使用し、Twitter API をいじっています。にリクエストを送信することで、認証後にユーザーの資格情報を取得できますhttp://api.twitter.com/1/account/verify_credentials.xml。応答には、ユーザー ID、スクリーン名などが含まれますが、電子メール ID は含まれません。

ユーザーの電子メール ID を取得することはできますか?

アップデート

権限の拡張を具体的に要求した場合、Facebook はこの情報を提供すると思います。Twitterに似たようなものはありますか?

4

9 に答える 9

106

ユーザーの電子メール アドレスを API 経由で取得することはできません。これは、API チームによる意図的な設計上の決定です。

更新 2015.08.18:

ユーザーに電子メール アドレスを要求することは可能ですが、アプリがホワイトリストに登録されている必要があります。API 呼び出しの詳細については、https://dev.twitter.com/rest/reference/get/account/verify_credentialsを参照してください。このフォームでは、アプリのホワイトリストへの登録をリクエストできます。

于 2010-09-02T13:31:09.163 に答える
16

Python / Django で記述されたOutsourceFactorの場合、oAuth1 を介してユーザー名を取得し、Twitter 全体で一意であることが保証されている "username@twitter.com" として電子メールを作成します。次に、それをハッシュして、使用し、ローカル ユーザー アカウントに関連付ける適切な UUID を取得します。ヤフーも同じ。Google と Facebook は oAuth2 を使用しており、要求に応じてメール アドレスを提供してくれます。

1 つのアカウントで複数のソーシャル アソシエーションを確保するために、ユーザーがローカルでアカウントを作成してログインした後にのみ、ソーシャル アカウントのアソシエーションを許可します。

そのため、最初にアカウント (ローカル アカウント) を作成する必要があります。その後、任意のソーシャル oAuth プロバイダーを使用して、今後のログインを容易にすることができます。これは、私のサイトにとって最高の費用対効果です。

とにかく、Twitter から独自の形式の ID を取得します。だからそれを使ってください。後で、または関連付けの前に、電子メール アドレスを求めることができます。

于 2012-06-25T19:05:20.627 に答える
1

私の場合、応答を受け取るたびに、すべてのユーザーに対して一意の認証 ID を取得し、毎回そのユーザーに対して同じ ID を取得しました。そのため、その ID を使用して unique_id@twitter.com のようなメールを作成し、それが既に自分のサイトにあるかどうかを確認し (初めてではありません)、ユーザーを登録しました。次に、彼が 2 回目にログインした場合は、もう一度メールを作成し、既にそこにあるかどうかを確認します。これにより、最初に彼にローカル アカウントを作成させる必要がなくなり、ログインするために彼を識別することができます。

于 2016-03-29T12:48:31.410 に答える
0

このコードを追加してください!

$params = array('include_email' => 'true', 'include_entities' => 'false', 'skip_status' => 'true');

`$data = $connection->get('account/verify_credentials', $params); // get the data`

// getting twitter user profile details $twt_id = $data->id; //twitter user id $twt_email = $data->email; //twitter user email

ここで完全な手順をチェックアウトします。

于 2016-11-17T08:22:03.257 に答える
0

誰が不可能だと言いましたか???

アプリをホワイトリストに登録した後、iOS アプリを取得しました。ここで私の答えを確認してください。

于 2015-06-04T07:11:53.553 に答える
0

ユーザーの電子メールを取得できないと言う人は、 apps.twitter.comのアプリのアクセス許可の下にある [ユーザーから電子メール アドレスを要求する] チェックボックスを使用できます。電子メール アドレスへのアクセスが機能するためには、アプリの設定でプライバシー ポリシーの URL と利用規約の URL フィールドを入力する必要があります。有効にすると、アプリが電子メール アドレスにアクセスできることがoauth/authorizeダイアログを介してユーザーに通知されます。

于 2017-01-21T10:09:06.920 に答える