2007年04月26日

Twitter APIをphpで使う方法(サンプル) このエントリーをはてなブックマークに追加

こんにちは、キャンディーズの伊藤蘭です(嘘です)。

最近、巷で流行っているもので Twitter ってのがあるっぽい。
自分が何をやっているのかを公開するだけのWebアプリケーションのよーであるが、友人の情報などを共有できたりすることと、機能のシンプルさが受けているっぽい。

Twitter には API が提供されていて、APIを使って外部のサイトから Twitterの情報を更新したり、閲覧できたりするっぽい。APIについての詳細は API Documentation - Twitter Development Talk | Google グループ を参照するべし。

表示、更新などのひととおりの機能は揃っているので ブログパーツでも作ってみようかなと思ったのだが、APIを利用するには、ログインする際のE-Mailとパスワードなどが必要っぽいので、一般に提供するのはちょいと難しいと感じたっす(他のサイトのIDやパスワードを自分のサイトで管理するのはリスクが高いよね?)

さらに Twitter のサイトでは既にブログパーツ的に扱える Twitter Badge なるものが提供されているので、これを使えばよろしいと思われる。



なので、ここでは、提供されているAPIについてちょっと解説してみたりする。
(現在のところTwitter APIについては日本語の情報が結構少ないっぽい)
ちなみに、利用言語はなんでもよいのであるが、phpが最も簡単なのでphpのサンプルを掲載してみるっす。
この API はAPI Documentation を見るとお分かりの通り、curlを利用して認証し、情報を取得する。
また、Twitter APIでユーザのイロイロな情報を取得する際ユーザ固有に付けられているidという数値をキーにしてハンドリングを行っていく。
自分のidを知るための最も簡単な方法は、先ほどの Twitter Badge の Friends Timeline のHTMLソースを見るとわかる。下記のよーな記述がある。

flashvars="user_id=1234567&color1=0xFFFFCE& color2=0xFCE7CC&textColor1=0x4A396D& textColor2=0xBA0909&backgroundColor=0x92E2E5& textSize=10"

この部分が ユーザid になるっす。
本来はidを取得するにはAPIを利用する。で、取得したid情報を元に表示したりアップデートしたりするっぽい。
idを取得する際はcurlにログイン時のE-Mailとパスワードを渡してidを取得するよーだ。なので、PHP: CURL, Client URL Library 関数 - Manual が利用するWebサーバにインストールされていることを前提に話しを進める。
このあたりは、下記サンプルを見るとわかりやすいと思われる(コメントを見ると大凡なにをやっているかが理解できると思われるっす)。
Twitter APIをphpで利用するサンプル

基本はユーザのE-Mailとパスワードを夫々のエンドポイントに渡し、値をXMLデータやJSON形式で取得し、取得した値を加工することになる。利用できるメソッドは下記の通り(かっこの中身は取得できるフォーマット)。
■Status Methods (ステータス情報を取得)
・public_timeline (xml, json, rss, atom)
・friends_timeline (xml, json, rss, atom)
・user_timeline (xml, json, rss, atom)
・show (xml, json)
・update (xml, json)
■User Methods (ユーザ情報を取得)
・friends (xml, json, rss, atom)
・followers (xml, json, rss, atom)
・featured (xml, json)
・show (xml, json)
■Direct Message Methods(ダイレクトメッセージ情報を取得)
・direct_messages (xml, json, rss, atom)
・new (xml, json, rss, atom)
夫々にエンドポイントが存在するので、そこにcurlで情報を渡し、戻ってきた値を加工するよーなことをする。
サンプルでは戻り値をXML形式で戻し、Simple_XMLで処理しているっす。
サンプルの実行は上記でも記載したとおり、アカウント情報が必要になるため試すのは自分の環境でお試しいただければよいのだが、別のサンプルとして、りょーちのアカウント情報を埋め込んだ形で、上記のTwitter Badgeに似たよーなものもこんな風に作れるっす。

Twitter API、結構面白いな。
posted by りょーち | Comment(1) | TrackBack(2) | Web周辺技術

2007年04月20日

phpのtidy関数でURLを指定するとタイトル名を取得するものをつくってみた このエントリーをはてなブックマークに追加

こんにちは、コスモ星丸です(嘘です)。

URLが分かっているが、そのURLのアクセス先のHTMLファイルのタイトル名をどうやって取得すればよいのかわからなかったのだが、mixiで聞いてみたところ、やっとわかった。
tidy関数を利用すればよさそうなことまではわかったのだったが文字化けしてしまうので、どーしよーかと悩んでいたが、tidyでパースする際に文字コードを指定すればよいということがわかった。

で、こんなサンプルをつくってみた。

JSONのデータを表示する
(サンプルはIEのみで動作するっぽい)


上記のソースをみてみるとわかるかと思うが、

http://www.usamimi.info/~ryouchi/title/?url=(取得したいURL)

で、下記のようなJSON形式でデータを取得できるっぽい。



{"url":"http:\/\/ryouchi.seesaa.net","title":"\u308a\u3087\u30fc\u3061\u306e\u99c4\u6587\u3068\u66f8\u8a55"}
文字コードはUTF-8になってます。


しかし、ここまではわかったが、これを利用する際、ドメインが異なると(クロスドメインのデータを取得していると)だめっぽいのぅ。

うーむ。どーすればよいのか?
謎じゃよ。

ちなみに、これを作ったきっかけは、例のIPCユーザによるコメントスパム報告用のフォームを自動的に作成しようかなと思ったりしたわけである。

先日作成した、アフィリエイトサービスプロバイダ利用チェックにもこの機能を使ってアホアフィリエイターのURLからアホアフィリエイターのサイト名を取得するのに利用しているっす。

ちなみに、phpのTIDY関数を利用して、タイトルタグを取得するphpのソースは下記になる。


TIDY、最強だな。
posted by りょーち | Comment(4) | TrackBack(0) | Web周辺技術

2007年04月13日

OKWave APIを使ってOKWave Badgeというものを作ってみた このエントリーをはてなブックマークに追加

こんにちは、ルビー浅丘モレロです(嘘です)。

自然文検索機能『OK TellMe β版』公開 | 株式会社オウケイウェイヴをみて、OKWave APIってのがあることを知り、早速使ってみた。

このAPIは、OKWaveの質問、回答に対しての全文検索エンジンのよーなものであるらしい。

で、何を作ったかというと、OKWaveの質問を気になる単語で検索し、その結果の最新10件をBLOGに貼り付けるよーなブログパーツっぽいものを作った。



例えば、Windows Vistaに関してのOKWaveでの検索結果はこんな感じ。

キーワードを入力すると、BLOGに貼り付けるコードが表示されるので、それを貼ればよろしいと思われる。
また、CSSに関してはこんな感じにしてみた。

まあ、例によってテキトーにつくってみたので微妙なのであるが、多分動くであろう・・・
posted by りょーち | Comment(4) | TrackBack(0) | Web周辺技術

2007年04月12日

pukiwiki 1.4.7インストールまとめとプラグイン作成 このエントリーをはてなブックマークに追加

こんにちは、カールゴッチです(嘘です)。

随分前からpukiwikiを利用しているのだが、かなり便利。phpが動作しているWebサーバであれば、ダウンロードして直ぐに利用できるので簡単に導入できるので、ここで、すごく簡単にまとめておくっす。

■pukiwiki 1.4.7インストールまとめ
  1. http://sourceforge.jp/projects/pukiwiki/ にアクセスし、ダウンロード。
  2. パッケージを解凍
  3. Webサーバのドキュメントルートにwikiフォルダ作成
  4. 解凍したファイルをwikiフォルダに移動
環境に合わせて最低限下記を修正する。
■pukiwiki.ini.php (126行目:)自分のサイトにあわせて記入
$modifierlink = 'http://pukiwiki.example.com/';

大学や会社などでproxyを利用して外部のWebサーバに接続する場合は下記も設定するとよい。
■pukiwiki.ini.php (337行目移行)
$use_proxy = 1; // proxyを利用する 1,利用しない 0
$proxy_host = 'proxy.example.com'; // 利用するproxyサーバ
$proxy_port = 8080; // 利用するproxyサーバのポート
// Do Basic authentication
$need_proxy_auth = 0; // ユーザ認証必要 1,不要 0
$proxy_auth_user = 'username';
$proxy_auth_pass = 'password';

■plugin/amazon.inc.php (54行目)amazonのアソシエイトIDを持っている人は下記も設定するとよい。
define('PLUGIN_AMAZON_AID','ryouchih-22'); //amazon アソシエイトIDを入力

メモ帳代わりにいろいろ書いて、あとで検索したりするのに便利っす。素晴らしいのはデータベースエンジンを全く利用していないことである。これは導入のハードルがかなり低くなってよろしい。

あと、プラグインを作れるようなので、何か簡単なのをつくってみた。
手始めにpukiwikiでpagerankを表示するプラグインを作ってみた。
上記サイトにソースを置いてみた(すごい簡単なソースだけど・・・)

上記サイトにあるpagerank.inc.phpsをダウンロードし、名前をpagerank.inc.phpにしたあとで、pukiwikiのプラグインフォルダにコピーすれば完了である(何のために必要なのかは聞かないで)。
pukiwikiプラグイン職人として、勉強してみようかな・・・
posted by りょーち | Comment(6) | TrackBack(0) | Web周辺技術

2007年04月09日

たった2行でBLOGに簡単にレーティング機能を付与するJS-Kit:Ratings widgetの素晴らしさに感動 このエントリーをはてなブックマークに追加

こんにちは、いつもより多く回っている室伏由佳です(嘘です)。

以前 どこでもコメントできるJS-Kit.Comで翻訳者を募集中 という記事で紹介したJS-Kit.Comでまた新しいツールが紹介されていた。

上記サイトにあるスクリプトを貼り付けると、簡易レーティング機能をサイトに付加することができるっす。
seesaa Blogの場合、「デザイン」→「コンテンツ」→「記事」→「コンテンツHTML」で
<input name="need_confirm" type="submit" class="input-submit" value="確認する" />
の直前あたりに、下記を書いておけばよさそう(再構築が必要だよ)
<div class="js-kit-rating" starColor="Red" view="split"></div>
<script src="http://js-kit.com/ratings.js"></script>

色の指定などは JS-Kit: Ratings widget を見ると設定方法が書いてあるので参考にしてほしいっす。

りょーちのBLOGにもレーティング機能を付与してみたっす(期間限定かもしれんが・・・)。記事HTMLでないと表示されないよーにしたので、カテゴリやindexページを見ている場合は表示されないので、記事ページでみてちょーだい。

まあ web拍手 と同じよーな機能だと思うが、こちらの方が見た目はクールっす。
こんなに簡単にレーティング機能が付与できるって結構すごいっす!
感動した!(by 小泉純一郎)
(でもレーティングが低いとちょっとガッカリ?)
posted by りょーち | Comment(0) | TrackBack(2) | Web周辺技術

2007年04月05日

Netdisasterでいたずらするブログパーツをつくってみた このエントリーをはてなブックマークに追加

こんにちは、男闘呼組の前田耕陽です(嘘です)。

かなり昔に見た Netdisaster - Destroy the web! というサイトがある。
URLを指定するとサイトにいろんな悲劇が起きるサイトである。
久々にアクセスしてみたら、更にいたずら度合いがパワーアップしていた(?)ので結構楽しめた。

disasterとは英語で「天災」とか「災害」とかっていう意味のよーである。
自分のサイトにはリアルな災害はおきて欲しくないのであるが、あくまでもシャレということで Netdisaster で、自分のサイトに「天災」を起こすブログパーツを作ってみた。

下記スクリプトを貼り付けるとよかろう。(改行していますが実際は1行です)
<script type="text/javascript" src="http://ryouchi.up.seesaa.net/netdisaster/index.js" charset="UTF-8"></script>


で、貼り付けるとこんなのができるはず。



プルダウンで災害の種類を選んで「いたずらする?」ボタンを押すと新規ウィンドウであなたのサイトが悲惨なことに・・・

いたずらの種類は幾つかあるっぽいのだが、メニューを日本語化するとすぐにどんな状況になってしまうかわかっておもしろくないのであえて日本語化しなかったっす。(英訳が面倒ってのがホントの理由だが・・・)

2分くらいは遊べると思われる。
まあ、あまり有用性のないブログパーツだな・・・orz
続きを読む
posted by りょーち | Comment(0) | TrackBack(0) | Web周辺技術

2007年04月03日

[PHP]phpinfo()に関する小ネタHack このエントリーをはてなブックマークに追加

こんにちは、元ヒップアップの小林すすむです(嘘です)。

php関連のEaster Eggでちょっとオモシロそうなものを見つけた。

phpにはphpinfo()というコマンドがある。実行すると、phpの動作環境などの情報を表示するよーなものである。

使い方はとっても簡単で、下記のように書けばよい。
<?php
phpinfo();
?>

りょーちがお借りしているレンタルサーバではこのphpinfoが公開されている。phpinfo()ではこのWebサーバで、どのphpのモジュールが利用できるか、phpのiniファイルはどういう設定になっているかという情報が記載される。
通常、こういった内部仕様は公開されない場合も多い。レンタルサーバを借りたいときに、通常はphpinfoの情報を閲覧できるようにレンタルサーバ会社が上記のように公開することが多い。
そういった場合でもphpinfoの情報を得ることができるらしいことを digg 経由で知ったっす。

こんな感じで紹介されているっす。
( via Tech-Nologic ≫ Blog Archive ≫ Phunny PHP(easter eggs) )
phpinfo()
phpinfo()を見るためには、下記のコードを PHP based URL の最後にペーストする。
?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000
例:
PHP LOGO
下記のコードを PHP Based Server の最後にペーストする。
?=PHPE9568F34-D428-11d2-A769-00AA001ACF42
例:
ZEND LOGO
下記のコードを PHP Based Server の最後にペーストする。
?=PHPE9568F35-D428-11d2-A769-00AA001ACF42
例:下記2つはEaster Eggってほどでもなく php_logo_guid() zend_logo_guid() のマニュアルにも書かれているっぽい。
/repository/php-src/ext/standard/info.h を見てみると、上記のコードがdefineされていたっす。

ちなみに、サーバによってはできないものもあるっぽいっす。
うーむ、知らんかったよ。

以下、有名どころのサイトを調べてみた。
■phpinfo()が表示されたサイト

■phpinfo()が表示されなかったサイト

■bookmarkletも作ってみた
今みているphpサイトのphpinfo() 右クリックでお気に入りに追加(ってこれ、いいのか?)

■サーバ側で表示させないようにするには
この表示を無効にするためには、php.ini に expose_php = off と指定するとよい。(参考記事:【PHP TIPS】 10. PHPのイースターエッグを見つけ出そう:ITpro
posted by りょーち | Comment(0) | TrackBack(0) | Web周辺技術

2007年03月28日

検索用リンク作成ツール「イロイロリンク」というものをつくってみた このエントリーをはてなブックマークに追加

こんにちは、犬塚弘です(嘘です)。

本題に入る前に、先ず昨日午前中に植木等さんが、他界されたことが報道されました。哀悼の意を表します。
昭和の古き良き時代、高度成長期。現在のようにサラリーマンはリストラに怯えることなく、転職率もそんなに高くなく、今の会社でなんとか頑張ればそのうちイイコトある的な終身雇用制が何の疑問もなく謳われていたそんな時代。
植木等さん演じる調子のいいサラリーマンは時代にマッチしていた。
思えば放送作家の青島幸男が昨年末に他界し、昨日、植木等さんもそれに続くようにこの世を去ってしまった。昭和の時代が今まさに終焉を迎える。そんな思いがしたっす。

さて、話しはコロッと変わり、またテキトーなものを作ってみた。
こういった大きなニュースなどが登場すると、その話題について人々はイロイロ検索してしまうようである。
昔あったhttp://hole-in-one.com/という、横断型検索エンジンも最近はいろいろ出ている。最近のヒットは sidekiq だと思うが、まだ、ちょっとインターフェースに慣れていないっす。

横断型検索エンジンを作ってみると面白いとは思うのだが、りょーちのスキルでは到底無理っぽいので、こんなものを作ってみた。



まあ、名前からして、テキトーさが伺えるが、検索キーワードを入力すると、各種検索エンジンのリンクを作成するだけのページっす。上記サイトで、検索したいキーワードを入力すると、各検索エンジンの検索結果のリンクを作成するだけのページっす。
また、検索結果をBlogなどに貼り付けられるよーにタグを出力させるよーにもしてみた。
株式市場に興味のある人は上記サイトで「株式市場」と入力してみると下記のよーなリンクを作成してくれるっす。


「株式市場」の検索結果 by イロイロリンク



GETメソッドでパラメータを渡すサイトであれば(多分)何でも追加可能なので、追加したいサイトの要望がありましたらこのブログにコメントいただければと思います。
って、需要はあるのか?
posted by りょーち | Comment(1) | TrackBack(0) | Web周辺技術

2007年03月27日

Mooom APIで動画検索 このエントリーをはてなブックマークに追加

こんにちは、高木貞治です(嘘です)。

いろんなAPIをテキトーに使ってみる練習としてPHPでまたもやテキトーなプログラムを作ってみた。
mooom.jpというサイトではユーザの動画を登録し、別のユーザが閲覧できるというYouTubeのよーな動画共有サイトである。その mooom.jp のAPIが存在するということなので、早速使ってみたっす。

キーワードによる動画検索と最近登録した動画を検索できるっす。まだまだこれからのサービスって感じだが、今後サービスインと共にAPIを提供するスタイルは増えそうな予感・・・
例えばキーワードに「犬」とか「猫」とか入れてみるとよいかも。あと「歌」とかもオススメかな?(まだ新しいサイトっぽいので登録されている動画はそんなに多くはなさそうです。)
こんなオモシロそうなAPIがありそうとかってのがあったらこのブログへのコメントとして教えてください。

よろしくです。
posted by りょーち | Comment(0) | TrackBack(0) | Web周辺技術

2007年03月26日

謎のAPI:メイドカフェAPI(Maid Cafe API)をつかってみた このエントリーをはてなブックマークに追加

こんにちは、沢田亜矢子です(嘘です)。

巷で使えるAPIを模索していろいろ検索していたら、こんな怪しげなAPIを発見。



そ、そんなAPIあったのかー。これは使ってみなければ・・・とわけもわからずテキトーに使ってみた。で、こんなものをつくってみた。



まだ作りかけっぽいのだが、なんとなく検索できるのでまあよいか。
ちかごろは何でもAPIがあるんだねぇ。

今まで利用したWeb APIの中でもっとも微妙なAPIと思われる。
今後情報量が増えていくのか・・・・

posted by りょーち | Comment(0) | TrackBack(0) | Web周辺技術