Можем ли мы получить идентификатор электронной почты от 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;
}