Intereting Posts
Может ли phpunit использовать несколько поставщиков данных? Laravel получает маршруты работы, пост не отправка электронной почты со всеми продуктами из корзины Как получить массив значений из ассоциативных массивов? Как в PHP добавить значения из одного массива в другой, когда их пары значений ключей совпадают? Получение последнего вложенного идентификатора из MySQL в Yii Почему валидатор w3c не может загружать SGML :: Parser Perl: OpenSP? Восклицательный знак перед переменным – требуется разъяснение PHP Захват ошибки синтаксического анализа SimpleXMLElement Соответствие и удаление твитер хэштегов в строке Избегание неоднозначных ошибок столбцов при использовании JOIN в MySQL Ajax, PHP и MySQL и добавлять данные на странице Ошибка запроса при получении информации из двух разных таблиц в php jQuery Ajax возвращает всю страницу Требовать все файлы в папке

Twitter OAuth (PHP): нужен хороший, базовый пример для начала

Используя PHP SDK от Facebook, я смог быстро войти в систему Facebook на моем сайте. Они просто устанавливают переменную $user которой можно получить доступ очень легко.

У меня не было такой удачи, пытаясь заставить работать в Twitter OAuth работать … откровенно говоря, их материал github запутан и бесполезен для кого-то, относительно нового для PHP и веб-дизайна, не говоря уже о том, что многие из неофициальных примеров, которые я имею пробовали работать, так же запутывают или устарели.

Мне действительно нужна помощь в работе с Twitter-входом – я имею в виду только базовый пример, когда я нажимаю кнопку входа в систему, я авторизую свое приложение и перенаправляю на страницу, где отображается имя зарегистрированного пользователя.

Я действительно ценю твою помощь.

EDIT Я знаю о существовании щебетать авраама, но он не дает никаких инструкций, чтобы заставить его работать.

Я просто попробовал twitteroauth от Авраама от github, и это, кажется, работает отлично для меня. Это то, что я сделал

  1. git clone https://github.com/abraham/twitteroauth.git
  2. Загрузите это в свой веб-хостинг с доменом, скажем, http://www.example.com
  3. Зайдите в Twitter Apps и зарегистрируйте свое приложение. Необходимые изменения (предполагая, что вы будете использовать пример twitteroauth от Абрахама, размещенный по адресу http://www.example.com/twitteroauth )
    a) Веб-сайт приложения будет http://www.example.com/twitteroauth
    б) Тип приложения будет браузером
    c) URL-адрес обратного вызова – http://www.example.com/twitteroauth/callback.php (Callback.php включен в источник git)
  4. Как только вы это сделаете, вы получите CONSUMER_KEY и CONSUMER_SECRET, которые вы можете обновить в config.php из дистрибутива twitteroauth. Также установите обратный вызов таким же, как http://www.example.com/twitteroauth/callback.php

Это оно. Если вы сейчас перейдете на сайт http://www.example.com/twitteroauth , вы получите «Signin with Twitter», который приведет вас в Twitter, авторизует запрос и вернет вас на страницу index.php.

EDIT: пример не будет работать, но не волнуйтесь. Следуйте приведенным выше инструкциям и загрузите их на сервер. Убедитесь, что вы переименовали файл из репозитория github, то есть config-sample.php-> config.php

если вы хотите увидеть рабочий образец, найдите его здесь

это один из основных примеров получения URL-адреса для авторизации, а затем получения пользовательской базовой информации, когда вы когда-либо возвращаетесь с Twitter

 <?php session_start(); //add autoload note:do check your file paths in autoload.php require "ret/autoload.php"; use Abraham\TwitterOAuth\TwitterOAuth; //this code will run when returned from twiter after authentication if(isset($_SESSION['oauth_token'])){ $oauth_token=$_SESSION['oauth_token'];unset($_SESSION['oauth_token']); $consumer_key = 'your consumer key'; $consumer_secret = 'your secret key'; $connection = new TwitterOAuth($consumer_key, $consumer_secret); //necessary to get access token other wise u will not have permision to get user info $params=array("oauth_verifier" => $_GET['oauth_verifier'],"oauth_token"=>$_GET['oauth_token']); $access_token = $connection->oauth("oauth/access_token", $params); //now again create new instance using updated return oauth_token and oauth_token_secret because old one expired if u dont u this u will also get token expired error $connection = new TwitterOAuth($consumer_key, $consumer_secret, $access_token['oauth_token'],$access_token['oauth_token_secret']); $content = $connection->get("account/verify_credentials"); print_r($content); } else{ // main startup code $consumer_key = 'your consumer key'; $consumer_secret = 'your secret key'; //this code will return your valid url which u can use in iframe src to popup or can directly view the page as its happening in this example $connection = new TwitterOAuth($consumer_key, $consumer_secret); $temporary_credentials = $connection->oauth('oauth/request_token', array("oauth_callback" =>'http://dev.crm.alifca.com/twitter/index.php')); $_SESSION['oauth_token']=$temporary_credentials['oauth_token']; $_SESSION['oauth_token_secret']=$temporary_credentials['oauth_token_secret'];$url = $connection->url("oauth/authorize", array("oauth_token" => $temporary_credentials['oauth_token'])); // REDIRECTING TO THE URL header('Location: ' . $url); } ?> с <?php session_start(); //add autoload note:do check your file paths in autoload.php require "ret/autoload.php"; use Abraham\TwitterOAuth\TwitterOAuth; //this code will run when returned from twiter after authentication if(isset($_SESSION['oauth_token'])){ $oauth_token=$_SESSION['oauth_token'];unset($_SESSION['oauth_token']); $consumer_key = 'your consumer key'; $consumer_secret = 'your secret key'; $connection = new TwitterOAuth($consumer_key, $consumer_secret); //necessary to get access token other wise u will not have permision to get user info $params=array("oauth_verifier" => $_GET['oauth_verifier'],"oauth_token"=>$_GET['oauth_token']); $access_token = $connection->oauth("oauth/access_token", $params); //now again create new instance using updated return oauth_token and oauth_token_secret because old one expired if u dont u this u will also get token expired error $connection = new TwitterOAuth($consumer_key, $consumer_secret, $access_token['oauth_token'],$access_token['oauth_token_secret']); $content = $connection->get("account/verify_credentials"); print_r($content); } else{ // main startup code $consumer_key = 'your consumer key'; $consumer_secret = 'your secret key'; //this code will return your valid url which u can use in iframe src to popup or can directly view the page as its happening in this example $connection = new TwitterOAuth($consumer_key, $consumer_secret); $temporary_credentials = $connection->oauth('oauth/request_token', array("oauth_callback" =>'http://dev.crm.alifca.com/twitter/index.php')); $_SESSION['oauth_token']=$temporary_credentials['oauth_token']; $_SESSION['oauth_token_secret']=$temporary_credentials['oauth_token_secret'];$url = $connection->url("oauth/authorize", array("oauth_token" => $temporary_credentials['oauth_token'])); // REDIRECTING TO THE URL header('Location: ' . $url); } ?> 

Вот некоторые библиотеки PHP OAuth 1.0A с примерами:

  • tmhOAuth
  • OAuth-PHP
  • Twitter async

Twitter async предоставляет документацию о том, как просто вписать пользователя, как вы просили.

Вот пошаговое руководство по интеграции Twitter OAuth API в веб-приложение с использованием PHP. Пожалуйста, следуйте инструкциям.

http://www.smarttutorials.net/sign-in-with-twitter-oauth-api-using-php/

Вам нужно сначала создать приложение для Twitter, перейдя по следующему URL-адресу

https://apps.twitter.com/

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

Загрузите исходный файл из приведенной выше ссылки и просто замените TWITTER_CONSUMER_KEY, TWITTER_CONSUMER_SECRET и TWITTER_OAUTH_CALLBACK на свой потребительский ключ (ключ API), секрет потребителя (секрет API) и URL-адрес обратного вызова. Затем загрузите это на свой сервер. Теперь он будет работать успешно.