2月はじめごろからTwitterアプリケーションを作成する際、そのアカウントを携帯電話と関連付けしておかないといけないということになったようです。
Twitterのアプリケーション新規登録時に、開発者のTwitterアカウントと携帯電話の関連付けが必須になった模様。
新規アプリケーションを登録する場合に開発者のTwitterアカウントと携帯電話の関連付けが必須になった模様。
じゃあTwitterアプリケーション1個ごとに携帯が1契約ずつ必要になるの・・・?と愕然としたのですが、携帯に関連付けしているアカウントが1つあれば、他のアカウントのアクセストークン・アクセストークンシークレットがOAuthで取得できるため、一手間かかるようになったものの従来通り多くのアカウントを運用することができそうです。
仮に携帯と関連付けた開発用アカウントを@dev、新しく取得したアカウントを@botとして@botをbotとして運用する手順をご紹介します。
ADs
新しく.phpファイルを作成し、以下の内容を記述します。
また、TwitterOauthをダウンロードし、OAuth.phpとtwitteroauth.phpを同一フォルダ内に置きます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
<?php require_once('OAuth.php'); require_once('twitteroauth.php'); define('CONSUMER_KEY','@devのコンシューマキー(現API key)'); define('CONSUMER_SECRET','@devのコンシューマシークレット(現API Secret)'); session_start(); //初回アクセス(トークンがない) if(!$_SESSION["token"]){ $twitter = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET); $request_token = $twitter->getRequestToken(); $url = $twitter->getAuthorizeURL($request_token, true); $_SESSION["token"] = $request_token; header("Location: $url"); } //トークン取得後 if($_SESSION["token"]){ $request_token = $_SESSION["token"]; $twitter = new TwitterOAuth( CONSUMER_KEY, CONSUMER_SECRET, $request_token["oauth_token"], $request_token["oauth_token_secret"] ); $access_token = $twitter->getAccessToken($_GET['oauth_verifier']); //画面に表示する ?> <table> <tr> <th>API key</th> <td><?php echo CONSUMER_KEY; ?></td> </tr> <tr> <th>API secret</th> <td><?php echo CONSUMER_SECRET; ?></td> </tr> <tr> <th>Access token</th> <td><?php echo $access_token["oauth_token"]; ?></td> </tr> <tr> <th>Access token secret</th> <td><?php echo $access_token["oauth_token_secret"]; ?></td> </tr> </table> <?php } ?> |
これをサーバにアップロードし、@botでログインしてから上記.phpファイルにアクセスすると、Twitterの認証画面を挟んだ後にアクセストークン・アクセストークンシークレットが表示されます。
認証させるのは@devではなく@botですので、認証ボタンをクリックする前によく確認して下さい。
例えば過去記事をランダムでツイートする処理をプラグインなしで実装するという処理を実装する場合、以下のように@devのAPIkeyと@botのアクセストークンを使用すると、@botから自動でツイートさせることができます。
1 2 3 4 5 6 7 8 9 |
$tmhOAuth = new tmhOAuth(array( "consumer_key" => '@devのAPIkey', "consumer_secret" => '@devのAPIsecret', "user_token" => '@botのアクセストークン', "user_secret" => '@botのアクセストークンシークレット', 'curl_ssl_verifypeer' => false //SSL対応に必要 )); //以下略 |
ADs
コメントはまだありません。