Можем ли мы получить идентификатор электронной почты от Twitter oauth API?

Как получить идентификатор электронной почты пользователя, принявшего мое приложение Twitter?

Я прошел через множество форумов. Но они упомянули, это невозможно. Также эти должности старше одного года. Могу ли я узнать, можно ли получить идентификатор электронной почты пользователя через twitter API с помощью PHP?

Я получаю информацию о пользователе Twitter, используя следующий URL-адрес:

https://api.twitter.com/1.1/account/verify_credentials.json

Ответ 1

Теперь это возможно, заполнив форму для запроса повышенных разрешений:

  • Перейдите в https://support.twitter.com/forms/platform
  • Выберите "Мне нужен доступ к специальным разрешениям"
  • Введите имя и идентификатор приложения. Они могут быть получены с помощью https://apps.twitter.com/ - идентификатор приложения является числовой частью в адресной строке браузера после нажатия на ваше приложение.
  • Запрос на получение разрешений: "Адрес электронной почты"
  • Отправить и подождать ответа
  • После того, как ваш запрос будет предоставлен, в вашем твиттерном приложении "Разрешение" добавляется настройка дополнительного разрешения. Перейдите в раздел "Дополнительные разрешения" и установите флажок "Запросить адреса электронной почты от пользователей".

Обратите внимание, что адрес электронной почты пользователя должен быть проверен, иначе Twitter отказывается его предоставить. (См. Описание параметра_параллельной_посылки в странице с повышенными разрешениями.

Ответ 2

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

  • Откройте Twitter-приложения

  • Нажмите "Создать новое приложение"

  • Заполните все необходимые учетные данные и нажмите "Создать приложение Twitter"

  • Теперь перейдите на вкладку "Разрешения" → установите флажок "Запросить адреса электронной почты из пользователей" и нажмите "Настройки обновления". (проверьте изображение)

  • Теперь в вашем PHP-коде укажите все сведения о приложении и добавьте этот код!

    $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

Все сделано. Надеюсь, это поможет вам, удачи.;)

введите описание изображения здесь

Ответ 3

Теперь можно получить адрес электронной почты пользователя из Twitter (если это позволяет пользователь, конечно).

Вам нужно применить, чтобы ваше приложение было белым, чтобы получить xAuth.

Проверьте здесь дополнительную информацию: https://dev.twitter.com/rest/reference/get/account/verify_credentials

Ответ 4

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

Ответ 5

Да, вы можете получить адрес электронной почты. Теперь это возможно, заполнив какое-то разрешение.

1. Поделитесь ссылкой: https://apps.twitter.com/

2. После перехода на вкладку разрешения внутри созданного приложения

3.Выберите флажок Разрешения на добавление в вашем APP.

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

Если в каком-то случае вы не можете получить адрес электронной почты, пожалуйста, проверьте URL-адрес запроса Oauth Api.

Ваш URL-адрес запроса должен быть такого типа: https://api.twitter.com/1.1/account/verify_credentials.json?include_email=true

Ответ 6

Вот как я это сделал в ASP.Net, используя библиотеку linqtoTwitter http://www.bigbrainintelligence.com/Post/get-users-email-address-from-twitter-oauth-ap

// call verify credentials api
var twitterCtx = new TwitterContext(authTwitter);
var verifyResponse =
      await
          (from acct in twitterCtx.Account
           where (acct.Type == AccountType.VerifyCredentials) && (acct.IncludeEmail == true)
           select acct)
          .SingleOrDefaultAsync();

if (verifyResponse != null && verifyResponse.User != null)
{
    User twitterUser = verifyResponse.User;
    //assign email to existing authentication object
    loginInfo.Email = twitterUser.Email;

}