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


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

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

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

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

РЕДАКТИРОВАТЬ Я знаю о существовании твиттера Авраама oauth, но в нем почти нет инструкций, чтобы заставить его работать.

Author: tnw, 2011-07-01

4 answers

Я только что попробовал твиттер Авраама с github, и, похоже, он отлично работает для меня. Вот что я сделал

  1. клон git https://github.com/abraham/twitteroauth.git
  2. Загрузите это на свой веб-сайт с доменом, скажем, www.example.com
  3. Перейдите в раздел Приложения Twitter и зарегистрируйте свое приложение. Изменения, которые вам нужны (при условии, что вы будете использовать пример twitteroauth абрахама, размещенный по адресу http://www.example.com/twitteroauth)
    а) Веб-сайт приложения будет 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 , вы получите "Вход в Twitter", который приведет вас в Twitter, авторизует запрос и вернет вас на index.php страница.

РЕДАКТИРОВАТЬ: Пример не сработает, но не волнуйтесь. Выполните описанные выше действия и загрузите на сервер. Убедитесь, что вы переименовали файл из репозитория github, т. е. config-sample.php ->config.php

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

 27
Author: rajasaur, 2017-10-09 04:16:19

Это основной пример получения 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); 
}
?>
 27
Author: zoomi, 2015-02-24 12:16:57

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

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

 2
Author: Jon, 2011-07-01 16:21:01

Вот пошаговое руководство по интеграции API OAuth Twitter в веб-приложение с использованием 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 обратного вызова. Затем загрузите это на свой сервер. Теперь он будет успешно работать.

 2
Author: muni, 2014-11-09 17:26:41