OAuth認証使ってPHPでツイッターbotを作成する方法【最初の一歩】

投稿者: kuze 2010/05/10 17:00

ツイッターAPIのベーシック認証は2010/6/30で終了するそうです。
ベーシック認証を使っているbotやその他アプリは、

OAuth認証

に切り替える必要があります!

◇
 

本件は私にも火の粉がかかっているので避けて通れません。
かといってOAuthが何かはっきり知らないし、やったこともないので、最初の一歩として「にゃーにゃーにゃー」とツイートするだけのbotを作って手順をまとめてみました。新しい言語を学ぶときの Hello World みたいなものですねー。



◇◇◇ 前提環境 ◇◇◇


(1) PHP5以上・・・下記は確認方法

$ php --version
PHP 5.2.11 (cli) (built: Sep 21 2009 14:49:09)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies

(2) curlがPHPで使えること・・・下記は確認方法

$ php -i | grep cURL
cURL support => enabled
cURL Information => libcurl/7.15.5 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5




◇◇◇ 手順 ◇◇◇


(1) bot用のアカウントでツイッターにログイン

(2) http://dev.twitter.com/apps/[*1]  にアクセス

(3) 「新しいアプリケーションを登録する」をクリック
   (3-1)  最低下記3つを入力
        ・ アプリケーション名・・・・・例えば「にゃにゃにゃー」
        ・ アプリケーションの説明
        ・ アプリケーションのウェブサイトURL
   (3-2) アプリケーションの種類を選択
        今回はbotなので、「クライアントアプリケーション」を選択
   (3-3) Default Access typeを選択
        今回は投稿botなので「Read & Write」を選択

(4) 下記4種類のキーの値を控える
    ・ Consumer key
    ・ Consumer secret
    ・ Access Token (oauth_token)
    ・ Access Token Secret (oauth_token_secret)

(5) PHP用のOAuthプログラムを下記からダウンロード
    http://github.com/abraham/twitteroauth/downloads
[*2]     ※現時点で最新の 0.2.0-beta3 をダウンロードして解凍しておく

(6) PHPのコードを書く  ※今回はnyabot.phpという名前で保存
<?php
// ライブラリインクルード
require_once("twitteroauth.php");

// キー値の設定 ※手順(4)で控えた値を書く
$consumer_key = "内緒♪";
$consumer_secret = "内緒♪";
$access_token = "内緒♪";
$access_token_secret = "内緒♪";

// OAuthオブジェクト生成 (1行で)
$to = new TwitterOAuth($consumer_key,$consumer_secret,$access_token,$access_token_secret);

// メッセージ設定
$message = "にゃーにゃーにゃー  " . date("H時i分s秒", time());

// ツイート実行 (1行で)
$to->OAuthRequest("https://twitter.com/statuses/update.xml","POST",array("status"=>"' . $message . '"));
?>      

(7) ファイルの配置
同一ディレクトリ内に下記3つのファイルを置きます
  ・ OAuth.php   ・・・・・・・・・・手順5で取得したファイル
  ・ twitteroauth.php ・・・・・・手順5で取得したファイル
  ・ nyabot.php  ・・・・・・・・・・手順6で作ったファイル

(8) botの実行!(テストとしてとりあえず手動で)
$ php nyabot.php

(9) ツイッターの画面で確認


※アプリケーション名に注目!ベーシック認証でのbotだと「APIから」というふうに固定でしたが、OAuth認証でのbotだとこの部分を好きなのにできます。
 

コメント (0件)


BMB - OAuth認証使ってPHPでツイッターbotを作成する方法【最初の一歩】
https://bmb.oidc.jp/article.php?story=20100510150927698

[*1] http://dev.twitter.com/apps/
[*2] http://github.com/abraham/twitteroauth/downloads