weibo(微博)のAPIを使ってbotを作ってみた

weibo(微博)とは、中国の主に若いホワイトカラー層で近年流行している、Twitterに似たウェブサービスの名称です。
日本語的発音では「ウェイボー」と読みます。
中国ではTwitterへのアクセスが禁止されていますが、その代わりに色々な会社がTwitter模倣サイトを運営しています。
その中でもsinaが作った「新浪微博」が最も利用者が多く、日本のマスコミなどでも「中国版ツイッター」などと呼ばれて紹介されることが最近増えています。
その新浪微博でも、本家Twitterと同じようにいわゆるAPIが公開されています。
そのAPIを使い、アプリ(bot)を作ることも可能です。
今回はweiboでPHP動作のアプリを作るまでの手順を簡単にご紹介したいと思います。
ただし、細かい部分の説明は端折ってますので、botの仕組みを理解されており、かつ中国語の読解力がある方が対象です。予めご了承下さい。
また、事前にweiboのアカウントを取得しておいて下さい。
まず開発者登録をします。
微博にログインした状態で、http://open.weibo.comにアクセスし、右上の编辑开发者信息から各必要事項を入力、送信します。

続いてこれから作るアプリの登録です。
管理中心→创建应用→创建应用→网页应用にアクセスし、各必要事項を入力、送信します。

管理中心→アプリ名→应用信息→基本信息→应用状态ページに移動します。
ここにアプリのApp KeyとApp Secretが書かれているので確認しておきます。5で必要になります。

次に、http://open.t.sina.com.cn/wiki/index.php/SDKにアクセスし、PHP SDKをダウンロード、解凍しましょう。

4のフォルダのconfig.phpをテキストエディタで開きます。
define( “WB_AKEY” , ‘xxxxxxxxxx’ );
define( “WB_SKEY” , ‘xxxxxxxxxxxxxxxxxxxxxxxxx’ );
define( “WB_CALLBACK_URL” , ‘http://xxxxxxxxxxxx/callback.php’ );
上記のxxx部分を、3で確認した自分のものに修正し、上書き保存します。
1番上がApp Key、2番目がApp Secret、3番目がファイルをアップロードするURLとなります。
そして、4の全てのファイルをPHPが動くサーバにアップロードします。

今度は、作るアプリの管理ページへ戻りましょう。
管理中心→アプリ名→应用信息→高级信息→OAuth2.0 授权设置→编辑から戻りURLを指定します。
5のhttp://xxxxxxxxxxxx/callback.phpと同じにします(授权回调页/取消授权回调页の両方とも同じ)。

5でアップロードしたindex.phpにアクセスします。
用微博帐号登录のボタンを押し、自分のweiboアカウントで使用許可を与えます。

これで準備が整ったので、APIや4に付属のweibolist.phpを参考にPHPを作り、アップロードします。
そのPHPに、cronなどで定期的にアクセスすれば、自動で投稿されるようになります(同じ内容の連続投稿は恐らく規制されていると思います)。
例えば下記のようなPHPを書くといいでしょう。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<?php session_start(); include_once( 'config.php' ); include_once( 'saetv2.ex.class.php' ); $c = new SaeTClientV2( WB_AKEY , WB_SKEY , $_SESSION['token']['access_token'] ); $txt = "你好! これはテストです。"; $ret = $c->update( $txt ); if ( isset($ret['error_code']) && $ret['error_code'] > 0 ) { echo "<p>NG:{$ret['error_code']}:{$ret['error']}</p>"; } else { echo "<p>OK</p>"; } ?> |
なお、ここまでは簡易登録でしたので、アプリの認証はすぐに切れてしまいます。
認証が切れたらまた認証をする必要があります。これでは面倒です。
ちゃんと登録するには実名などで申請する必要があるようですね。
これ以上はご自身で色々試されて下さい。

以上全て自己責任の元、興味のある方はご参考にされて下さい。
http://blog.lilyx.net/2011/01/22/how-to-use-sina-weibo-chinese-twitter-api
http://blog.30c.org/2374.html
http://www.oschina.net/code/snippet_245787_8966
http://www.xiaojinke.com/637.html










最近のコメント