2011-07-01 13 views
33

FacebookのPHP SDKを使用して、私はFacebookのログインを私のウェブサイトでかなり早く動かすことができました。彼らは単に非常に簡単にアクセスできる変数$userを設定します。Twitter OAuth(PHP):開始するには、良い、基本的な例が必要

私は、TwitterのOAuthログインがうまく動作するように努力していませんでした...かなり率直に言って、githubの素材は、PHPやWebデザインには比較的新しいユーザーにとっては混乱して無駄です。私が試した例は、まるで混乱しているか、時代遅れです。

私は本当にTwitterのログインを有効にするための助けが必要です - 私はログインボタンをクリックし、私のアプリケーションを認証し、ログインしたユーザーの名前を表示するページにリダイレクトするちょうど基本的な例を意味します。

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

編集私はabraham's twitter oauthの存在を認識していますが、彼の作品を手に入れるための指示はまったくありません。ここで

+0

から戻って得ればそう私は実際に動作するこれらのいずれかを探してきたときに、ユーザーの基本的な情報を取得する基本的な例でありますあまりにも。多くの人が、うまくいかない例を挙げているようです。 – cfrederich

+0

あなたはzendフレームワークのようなフレームワークを使用していますか?そうでない場合は、いくつかの実例があります。 – BRampersad

答えて

27

私はちょうどgithubからのabrahamのtwitteroauthを試みました、そして、それは私のためにうまくいくようです。これは私がやったこと

  1. gitのクローンhttps://github.com/abraham/twitteroauth.git
  2. Twitter Appsに行く
  3. www.example.com、たとえば、ドメインとウェブホストにこれをアップロードし、あなたのアプリケーションを登録しています。あなたは(あなたがhttp://www.example.com/twitteroauthでホストされているアブラハムのtwitteroauth例を使用することを仮定して)されている必要がある変更
    a)は、アプリケーションのウェブサイトhttp://www.example.com/twitteroauth
    Bになります)アプリケーションの種類は、ブラウザ
    C)コールバックURLになりますhttp://www.example.com/twitteroauth/callback.php(Callback.phpです
  4. これを実行すると、config.phpでtwitteroauthのディストリビューションから更新できるCONSUMER_KEYとCONSUMER_SECRETが表示されます。また、コールバックをhttp://www.example.com/twitteroauth/callback.php

と同じに設定します。 http://www.example.com/twitteroauthに移動すると、Twitterにつながる「Signin with Twitter」が表示され、リクエストを承認してindex.phpページに戻ります。

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

あなたが作業サンプルを見たい場合は、ここでそれを見つけるhere

+0

ありがとう、それは動作しますが、 '$ content'配列の特定の要素にはどうすればアクセスできますか? '$ twittername = $ content ['screen_name'];を実行しようとすると' '致命的なエラー:配列として型stdClassのオブジェクトを使用できません。 '' – tnw

+3

これはStdClass(PHPで使われている一般的な空クラス)として保存されています。 $ content - > {screen_name} – rajasaur

+3

のようにscreennameにアクセスできます。どちらの例もダウンしています。 –

2

例を挙げて、いくつかのOAuth 1.0A PHPライブラリです:

Twitterの非同期は、単にあなたのようにユーザーに署名する方法についてdocumentationを提供しますを求めました。

2

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

https://apps.twitter.com/

を行くツイッターのAppまずすることで作成する必要があり

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

その後、あなたはTwitterアプリのために必要な情報を提供する必要があります。一度すべての情報を提供し、それを保存します。 Twitterアプリケーションのコンシューマーキーとコンシューマーシークレットを取得します。

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

+0

これを追加していただきありがとうございます!それは私の古い質問ですが、明らかに参考としてまだ有用です。 – tnw

26

これは、承認のためのURLを取得し、その後、uはツイッター

<?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); 
} 
?> 
+3

これはうまくいきました。文字通りちょうどコピーされ貼り付けられてコンシューマーキーを更新し、URLを返すと期待どおりに実行されました。 –

+0

驚くばかり!私は過去2日間インターネットを一日中検索しました。しかし、私は古いtwitteroauthコードを取得していました。名誉!これはバターのようにスムーズでした!! – A100WebSolutions

+0

"add autoload note:autoload.phpのファイルパスを確認してください"何を確認する必要がありますか?このファイルで変更する必要があるのは何ですか? – Fred37b

関連する問題