Как получить электронную почту пользователя Twitter с помощью Hybridauth?

Может ли кто-нибудь помочь, как получить письмо из Твиттера? Я использую эту ссылку в php codeigniter, здесь я получаю информацию, кроме электронной почты. Тогда как получить письмо? есть ли область, которую мы должны указать в файле конфигурации?

4 ответа

Решение

Ты не можешь

API Twitter не предоставляет доступ к адресу электронной почты пользователя


Вот ответ на этот же вопрос от сотрудника Twitter

API не вернет вам адрес электронной почты. Если вас интересует адрес электронной почты пользователя, вам нужно будет попросить его указать это в вашем собственном приложении как совершенно отдельный акт.

Я опоздал на несколько лет, чтобы ответить на этот вопрос, но я все равно отвечу на него.

Вы можете!!!

Проверьте ссылку, где эта проблема была решена и ответил.

  • По сути, сначала вам нужно получить повышенные разрешения из учетной записи разработчика Twitter, указав URL-адрес своей политики конфиденциальности и URL-адрес условий.

  • Примените этот шаг после получения разрешения на доступ к электронной почте от службы поддержки Twitter.

    /public_html/application/config/hybridauthlib.php

И добавить: "includeEmail" => true провайдеру Twitter.

"Twitter" => array (
"enabled" => true,
"keys" => array ( "key" => "Your_Twitter_App_Key", "secret" => "Your_Twitter_Secret_Key" ),
"includeEmail" => true,
)

Это должно быть возможно сейчас. Во-первых, внесите белый список в ваше приложение.

https://support.twitter.com/forms/platform70 [Я добавил ссылку на YouTube для DEMO LINK и URL своего приложения в github для URL-адреса ПРИЛОЖЕНИЯ] и нажал кнопку "Отправить".

Затем вы получите 1-е письмо от Twitter (если вы не получили письмо от Twitter, повторно заполните форму и отправьте снова) со словами "Спасибо, что обратились". Через несколько часов вы получите 2-е письмо, в котором написано, что URL-приложение занесен в белый список

Как только они скажут, что ваше приложение занесено в белый список, обновите настройки приложения на портале Twitter для разработчиков. Войдите в apps.twitter.com и:

На вкладке "Настройки" добавьте URL-адрес условий предоставления услуг и политики конфиденциальности на вкладке "Разрешения", измените область действия своего токена для запроса электронной почты. Эта опция будет видна только после того, как ваше приложение попадет в белый список.

Затем вам, возможно, придется заново создать токен доступа на https://apps.twitter.com/ И также использовать https://api.twitter.com/1.1/account/verify_credentials.json?include_email=true, чтобы получить адрес электронной почты пользователя

Я использовал версию библиотеки HybridAuth CodeIgniter, и в этом файле

приложение / приложения /THIRD_PARTY / hybridauth / Hybrid / Провайдеры /Twitter.php

Модифицировал эту строку

$response = $this->api->get( 'account/verify_credentials.json' );

к нижнему

$response = $this->api->get( 'account/verify_credentials.json',['include_entities' => 'true', 'skip_status' => 'true', 'include_email' => 'true'] );

также добавлена ​​строка ниже перед возвратом профиля пользователя

$this->user->profile->email      = (property_exists($response,'email'))?$response->email:"";

и начал получать идентификатор электронной почты

Другие вопросы по тегам