Twitterの連携アプリを作成する(他人のアカウントでつぶやく)
Twitterで連携アプリを作成する方法です。連携アプリは「他人のアカウントでつぶやく」方法をご紹介します。これさえ理解できればTwitterをマスターしたようなものだと思います。では、続きをご覧下さい。
事前準備などは「Twitterのつぶやきを自動で投稿する」をご覧下さい。
1. アプリを作成する
Twitterのアプリケーション管理へログインしてアプリケーションを作成します。
1.1 「Name」「Description」「Website」「Callback URL」を入力します。
項目 | 説明 |
---|---|
Name | アプリの名称 |
Description | アプリの説明 |
Website | アプリを実行するURL(ここで指定した以外のURLでは実行できません。) |
Callback URL | Twitterの認証後に移動するURL(とりあえずhttp://www.あなたのドメイン.com/callback.phpとする) |
1.2 「Permissions」タブをクリックしてアクセスレベルを「Read and Write」に設定する。
1.3 画面右上付近にある「Test Oauth」を押下する。
2 プログラム(php)
アプリ連携を行うにはログインとコールバックの二つの画面が必要となります。
[ログイン画面(login.php)]
session_start(); require_once "twitteroauth/twitteroauth.php"; // Twitterのコンシューマー情報を使用してTwitterOAuthオブジェクトを生成します $connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET); // 認証後のコールバックURLを指定 // ※本来はここに記述するのだが、エラーが出るので[https://apps.twitter.com]側で設定 $request_token = $connection->getRequestToken(); // リクエストトークンの取得(後で使用するのでセッションに保存) $_SESSION['request_token'] = $request_token['oauth_token']; $_SESSION['request_token_secret'] = $request_token['oauth_token_secret']; // 認証用URLの取得 if ($connection->http_code == 200) { // 認証URLを取得する $url = $connection->getAuthorizeURL($request_token['oauth_token']); }else{ $url = "error.html"; } // ジャンプ header('Location: ' . $url) ; exit();
[コールバック画面(callback.php)]
session_start(); require_once "twitteroauth/twitteroauth.php"; // リクエストト-クンを使用してユーザーのtwitter情報を取得する $connection = new TwitterOAuth(CONSUMER_KEY,CONSUMER_SECRET, $_SESSION["request_token"],$_SESSION["request_token_secret"]); // twitterのユーザー情報の取得 $access_token = $connection->getAccessToken($_GET['oauth_verifier']); // アクセストークン echo 'user_id:' . $access_token['user_id'] . '<br />'; echo 'screen_name:' . $access_token['screen_name'] . '<br />'; echo 'oauth_token:' . $access_token['oauth_token'] . '<br />'; echo 'oauth_token_secret:' . $access_token['oauth_token_secret'] . '<br />'; echo "<br />"; echo "<pre>"; var_dump($access_token); echo "</pre>"; // セッション変数を全て解除 $_SESSION = array(); // セッションクッキーの削除 if (isset($_COOKIE[session_name()])) { setcookie(session_name(), '', time()-42000, '/'); } // セッションの破棄 session_destroy();
[ログインの認証画面のサンプル]
さて、コールバック画面で他人のアカウントのアクセストークンが取得できたと思います。他人のアカウントでつぶやくには下記の4つが必要となります。
・コンシューマーシークレット
・$access_token['oauth_token'](アクセストークン)
・$access_token['oauth_token_secret'](アクセストークンシークレット)
この4つのIDを使用して「Twitterのつぶやきを自動で投稿する」のプログラム部分と同様な方法でつぶやく事ができます。ここで取得したアクセストークン、アクセスシークレットはDBなどに保存すると利便性が向上すると思います。
関連リンク集
・Twitter(公式)
・Twitter - Application Management(公式 - 開発者用)
・TwitterAPI1.1 REST API 全項目解説
・Twitter API 仕様書 ※古い
・TwitterOAuthの説明など
関連記事
前の記事: | Twitterのつぶやきを自動で投稿する |
次の記事: | ブログシステム(CMS)の作り方 |