Twitter OAuth (PHP): нужен хороший, базовый пример, чтобы начать - PullRequest
33 голосов
/ 01 июля 2011

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

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

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

Я очень ценю вашу помощь.

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

Ответы [ 4 ]

28 голосов
/ 01 июля 2011

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

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

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

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

27 голосов
/ 24 февраля 2015

это основной пример получения 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); 
}
?>
2 голосов
/ 09 ноября 2014

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

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

Сначала необходимо создать приложение для Twitter. Перейдя по следующему URL

https://apps.twitter.com/

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

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

2 голосов
/ 01 июля 2011

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

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

...