209月/03
PHP+NuSOAPでGoogle Web API (13:50)
>>PHP+NuSOAPで日本語したいと思って、こちらのページを参考にNuSOAPのSOAPリクエストを送信する部分のContent-Typeを書き換えてみたのですが、うまく行きません。Content-Lengthは削ってしまうとエラーが出てしまいます。
というコメントがあったんで、試しに新しいNuSOAP(Revision 1.59)で試してみたら、Conntent-TypeとContent-Lengthを削ってもうまく動かない。
で、真面目に中身を見てみたら、現在のGoogle Web APIは普通に日本語が通るようになっているみたいだ。SOAPレベルではUTF-8でやりとり出来ている。ただ、NuSOAPがISO-8859-1以外のことを考えていないため、せっかくUTF-8で返ってきた結果を強引にISO-8859-1に変換(utf8_decode)しようとしてデータを壊してしまっていた。
というわけで、NuSOAP Revision 1.59をベースに日本語でGoogle Web APIを利用できるようにした修正版nusoap.phpと元ファイルとの差分(nusoap1.59_jp.patch)、Google Web API操作ライブラリ(GoogleSearch.php)、それを使ったサンプル(sample.php)を作ってみた。
- アーカイブ - http://dev.ishinao.net/archive/phpgoogle.zip
- サンプル - http://dev.ishinao.net/sample/PhpGoogle/sample.php
GoogleSearch.phpのGoogle Web APIs license keyを自分で取得したものにするだけで動くかな。
- GoogleRecordSet.phpに、取得した結果セットの1行目を読み飛ばすバグがありました。現在のアーカイブに収録されているバージョン(1.2)では修正されています。
- 2003/10/15 queryに対して行っていた余計な変換処理を省きました。
