Twitter OAuth (PHP): Нужен хороший, простой пример для начала работы
Используя PHP SDK Facebook, я смог довольно быстро настроить вход в Facebook на своем веб-сайте. Они просто устанавливают переменную $user
, к которой очень легко получить доступ.
Мне не так повезло, когда я пытался заставить работать логин OAuth в Twitter... откровенно говоря, их материалы на github сбивают с толку и бесполезны для тех, кто относительно новичок в PHP и веб-дизайне, не говоря уже о том, что многие неофициальные примеры, с которыми я пытался работать, так же сбивают с толку или являются устаревший.
Мне действительно нужна помощь в работе входа в Twitter - я имею в виду простой пример, когда я нажимаю кнопку входа в систему, авторизую свое приложение, и оно перенаправляется на страницу, где отображается имя вошедшего в систему пользователя.
Я действительно ценю вашу помощь.
РЕДАКТИРОВАТЬ Я знаю о существовании твиттера Авраама oauth, но в нем почти нет инструкций, чтобы заставить его работать.
4 answers
Я только что попробовал твиттер Авраама с github, и, похоже, он отлично работает для меня. Вот что я сделал
- клон git https://github.com/abraham/twitteroauth.git
- Загрузите это на свой веб-сайт с доменом, скажем, www.example.com
- Перейдите в раздел Приложения Twitter и зарегистрируйте свое приложение. Изменения, которые вам нужны (при условии, что вы будете использовать пример twitteroauth абрахама, размещенный по адресу http://www.example.com/twitteroauth)
а) Веб-сайт приложения будет http://www.example.com/twitteroauth
б) Типом приложения будет браузер
c) URL обратного вызова http://www.example.com/twitteroauth/callback.php (Callback.php включен в исходный код git)
- Как только вы это сделаете, вы получите CONSUMER_KEY и CONSUMER_SECRET, которые вы можете обновить в config.php из рассылки twitteroauth. Также установите обратный вызов таким же, как http://www.example.com/twitteroauth/callback.php
Вот и все. Если вы сейчас перейдете к http://www.example.com/twitteroauth , вы получите "Вход в Twitter", который приведет вас в Twitter, авторизует запрос и вернет вас на index.php страница.
РЕДАКТИРОВАТЬ: Пример не сработает, но не волнуйтесь. Выполните описанные выше действия и загрузите на сервер. Убедитесь, что вы переименовали файл из репозитория 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 OAuth 1.0A с примерами:
Twitter async предоставляет документацию о том, как просто войти в систему пользователя, как вы просили.
Вот пошаговое руководство по интеграции API OAuth Twitter в веб-приложение с использованием PHP. Пожалуйста, следуйте инструкциям.
Http://www.smarttutorials.net/sign-in-with-twitter-oauth-api-using-php/
Сначала вам нужно создать приложение Twitter, перейдя по следующему URL-адресу
Затем вам необходимо предоставить необходимую информацию для приложения Twitter. Как только вы предоставите всю информацию, а затем сохраните ее. Вы будете получите ключ пользователя приложения Twitter и секрет пользователя.
Пожалуйста, загрузите исходный файл по ссылке выше и просто замените TWITTER_CONSUMER_KEY, TWITTER_CONSUMER_SECRET и TWITTER_OAUTH_CALLBACK своим Ключом потребителя (Ключ API), Секретом потребителя (Секрет API) и URL обратного вызова. Затем загрузите это на свой сервер. Теперь он будет успешно работать.