web-dev-qa-db-fra.com

Twitter OAuth (PHP): besoin d'un bon exemple de base pour commencer

En utilisant le SDK PHP de Facebook, j'ai pu faire fonctionner la connexion Facebook assez rapidement sur mon site Web. Ils définissent simplement une variable $user À laquelle on accède très facilement.

Je n'ai pas eu autant de chance à essayer de faire fonctionner la connexion OAuth de Twitter ... très franchement, leur matériel github est déroutant et inutile pour quelqu'un qui est relativement nouveau pour PHP et la conception Web, sans parler de cela de nombreux exemples non officiels sur lesquels j'ai essayé de travailler sont tout aussi déroutants ou obsolètes.

J'ai vraiment besoin d'aide pour faire fonctionner la connexion Twitter - je veux juste dire un exemple de base où je clique sur le bouton de connexion, j'autorise mon application et elle redirige vers une page où elle affiche le nom de l'utilisateur connecté.

J'apprécie vraiment votre aide.

[~ # ~] modifier [~ # ~] Je suis conscient de l'existence de Twitter Twitter d'Abraham mais il fournit presque aucune instruction pour faire fonctionner ses affaires.

34
tnw

Je viens d'essayer le twitteroauth d'Abraham de github et cela semble bien fonctionner pour moi. C'est ce que j'ai fait

  1. git clone https://github.com/abraham/twitteroauth.git
  2. Téléchargez-le dans votre hébergeur avec domaine, par exemple, www.example.com
  3. Accédez à Twitter Apps et enregistrez votre application. Les modifications dont vous avez besoin sont (en supposant que vous utiliserez l'exemple twitteroauth d'abraham hébergé à http://www.example.com/twitteroauth )
    a) Le site Web de l'application sera http://www.example.com/twitteroauth
    b) Le type d'application sera le navigateur
    c) L'URL de rappel est http://www.example.com/twitteroauth/callback.php (Callback.php est inclus dans la source git)
  4. Une fois que vous faites cela, vous obtiendrez les CONSUMER_KEY et CONSUMER_SECRET que vous pouvez mettre à jour dans le config.php de la distribution twitteroauth. Définissez également le rappel comme http://www.example.com/twitteroauth/callback.php

C'est ça. Si vous accédez maintenant à http://www.example.com/twitteroauth , vous obtiendrez une "Connexion avec Twitter", qui vous amènera sur Twitter, autorisera la demande et vous ramènera à la page index.php.

EDIT: l'exemple ne fonctionnera pas mais ne vous inquiétez pas. Suivez les étapes ci-dessus et téléchargez sur le serveur. Assurez-vous de renommer le fichier du référentiel github, c'est-à-dire config-sample.php-> config.php

si vous voulez voir un échantillon de travail, trouvez-le ici

28
rajasaur

celui-ci est l'exemple de base de l'obtention de l'url pour l'autorisation et de la récupération des informations de base de l'utilisateur une fois que vous revenez de 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); 
}
?>
28
zoomi

Voici quelques OAuth 1.0A PHP bibliothèques avec des exemples:

Twitter async fournit documentation sur la façon de simplement connecter un utilisateur comme vous l'avez demandé.

2
Jon

Voici le guide étape par étape pour intégrer Twitter OAuth API à une application Web utilisant PHP. Veuillez suivre le didacticiel.

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

Vous devez d'abord créer l'appli Twitter En suivant l'URL suivante

https://apps.Twitter.com/

Ensuite, vous devez fournir les informations nécessaires pour l'application Twitter. Une fois que vous avez fourni toutes les informations, puis enregistrez-les. Vous obtiendrez l'application Twitter Consumer Key et Consumer secret.

Veuillez télécharger le fichier source à partir du lien ci-dessus et remplacez simplement Twitter_CONSUMER_KEY, Twitter_CONSUMER_SECRET et Twitter_OAUTH_CALLBACK par votre clé de consommateur (clé API), Consumer Secret (API Secret) et URL de rappel. Téléchargez-le ensuite sur votre serveur. Maintenant, cela fonctionnera avec succès.

2
muni