LIQUID DESIGN Tech Blog

簡単にTwitterのOAuth認証ができる、twitteroauthの使い方

簡単にTwitterのOAuth認証ができる、phpライブラリ、twitteroauthの使い方を紹介します。
Twitterにログインして利用するWebアプリケーションを簡単に開発することができます。
twitteroauth.png
配布サイト:twitteroauth

twitteroauth

上記サイトからダウンロードします。
サンプルファイルが含まれているので参考になります。

アプリケーション登録・設定

Twitterでアプリケーション登録をする必要があります。
アプリケーション登録

  • Application Name : アプリケーションの名前(twitterという単語は含めません)
  • Description : アプリケーションの説明
  • Application Type : Browser(ブラウザアプリケーションの場合)
  • Application Website : アプリケーションのURL
  • Callback URL : アプリケーションのCallback URL(サンプルはcallback.php)
  • Default Access type : Read-only(情報を読み込むのみか、書き換え可能にするか、タイプを選択)

登録が完了したら、CONSUMER_KEYCONSUMER_SECRETが発行されるので、twitteroauthのconfig.phpに入力します。
とりあえずこれで、index.phpにアクセスするとTwitterアカウントでログインができます。

アカウント情報の取得

ログイン情報、アカウント情報などは、セッションに保存されます。
一番よく使うと思われる、ユーザーネームは下記のようにして取得できます。

session_start();<br /> $name = $_SESSION[&#8216;username&#8217;];

プロフィール写真の取得

Twitterのプロフィール写真、サムネイル画像は、規則性がなく、
取得するためには別途、取得用のコードを書く必要があります。
そこで、プロフィール写真を簡単に取得できるAPIを紹介します。
APIサイト:tweetimag.es

このAPIでは、下記のようにして、簡単に画像を取得できます。
http://img.tweetimag.es/i/{username}_{size}

サンプル:

<img decoding="async" src="http://img.tweetimag.es/i/{$name}_n" />
サイズは下記の通りです。

  • m (24×24)
  • n (48×48)
  • b (73×73)
  • o (original size, varies)

つぶやきを投稿(ポスト)する

アプリケーションからつぶやきをポストするには下記のように、xmlにパラメータを渡します。
これには、CONSUMER_KEYやtoken(トークン)の情報が必要です。

session_start();<br /> require_once(&#8216;config.php&#8217;);<br /> $oauth_access_token = $_SESSION[&#8216;oauth_access_token&#8217;];<br /> $oauth_access_token_secret = $_SESSION[&#8216;oauth_access_token_secret&#8217;];<br /> $tweet = &#8220;つぶやき&#8221;;<br /> $to = new TwitterOAuth($consumer_key, $consumer_secret, $oauth_access_token, $oauth_access_token_secret);<br /> $content = $to->OAuthRequest(&#8216;https://twitter.com/statuses/update.xml&#8217;,&#8217;POST&#8217;,array(&#8216;status&#8217; => $tweet));

ログインボタン素材

ログインボタンの素材は下記ページにあります。
Twitter Developers:sign in with twitter

Twitterからログアウト

ログアウトするには、セッションを破棄します。

session_destroy();

この記事を書いた人
LIQUID DESIGN のサービスに関するデザインや技術情報を発信します。
SNSでフォローする