web-dev-qa-db-ja.com

Twitter OAuth(PHP):始めるには良い基本的な例が必要

FacebookのPHP SDKを使用して、自分のWebサイトでFacebookのログインを非常に迅速に機能させることができました。非常に簡単にアクセスできる$user変数を設定するだけです。

ツイッターのOAuthログインを機能させようと思ったのは幸運ではありませんでした...率直に言って、GitHubの資料はPHPとWebデザインに比較的慣れていない人にとってはわかりにくく、役に立たないため、言うまでもなく、私が試した非公式の例の多くは、同様に混乱したり古くなったりしています。

Twitterのログインを機能させるための手助けが本当に必要です-ログインボタンをクリックし、アプリを認証し、ログインしたユーザーの名前を表示するページにリダイレクトする基本的な例です。

本当にありがとうございます。

[〜#〜] edit [〜#〜]abraham's Twitter oauth の存在を知っていますが、彼の作品を動かすための指示はほとんどありません。

34
tnw

Githubからabrahamのtwitteroauthを試してみたところ、うまくいくようです。これは私がやったことです

  1. git clone https://github.com/abraham/twitteroauth.git
  2. これをドメイン、たとえばwww.example.comを使用してウェブホストにアップロードします
  3. Twitter Apps に移動して、アプリケーションを登録します。必要な変更は( http://www.example.com/twitteroauth でホストされているabrahamのtwitteroauthの例を使用すると仮定して)
    a)アプリケーションWebサイトは http://www.example.com/twitteroauth になります
    b)アプリケーションタイプはブラウザになります
    c)コールバックURLは http://www.example.com/twitteroauth/callback.php (Callback.phpはgitソースに含まれています)
  4. これを実行すると、twitteroauthディストリビューションからconfig.phpで更新できるCONSUMER_KEYとCONSUMER_SECRETを取得します。また、コールバックを http://www.example.com/twitteroauth/callback.php と同じに設定します

それでおしまい。 http://www.example.com/twitteroauth に移動すると、「Twitterでサインイン」が表示され、Twitterにアクセスしてリクエストを承認し、 index.phpページ。

編集:例は動作しませんが、心配しないでください。上記の手順に従って、サーバーにアップロードします。 githubリポジトリからファイルの名前を変更してください。つまり、config-sample.php-> config.php

実際のサンプルを見たい場合は、それを見つけてください here

28
rajasaur

これは、承認用の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); 
}
?>
28
zoomi

以下にいくつかのOAuth 1.0A PHPライブラリと例を示します:

Twitter asyncは、ユーザーが要求したとおりに単純にユーザーをサインインする方法に関する documentation を提供します。

2
Jon

Twitter OAuth APIをPHPを使用したWebアプリケーションに統合するためのステップバイステップガイドです。チュートリアルに従ってください。

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

最初にTwitterアプリを作成する必要があります

https://apps.Twitter.com/

次に、Twitterアプリに必要な情報を提供する必要があります。すべての情報を提供したら、保存します。 TwitterアプリケーションのConsumer KeyとConsumer secretを取得します。

上記のリンクからソースファイルをダウンロードし、Twitter_CONSUMER_KEY、Twitter_CONSUMER_SECRET、Twitter_OAUTH_CALLBACKをコンシューマキー(APIキー)、コンシューマシークレット(APIシークレット)、コールバックURLに置き換えてください。次に、これをサーバーにアップロードします。これで正常に動作します。

2
muni