blogpetの認証を無理に通そうとしてみた
前回の記事から数ヶ月経ってますがblogpetのXML-RPCについて色々してみた記録。
結論から言うと今回も駄目でした。
まず、投稿用APIの設定での最初の認証では、3種類の認証方法を試しているらしいので(前回の記事のLanタソさんのコメントから)、とりあえずcgiへのアクセスを全部取ってみた。
すると何故か作成されるファイルが2つしかない。
どっちもヘッダにHTTP_X_WSSEがあった事から、この2つはATOM APIへのWSSE認証だと思われる。
ではXML-RPCへの認証は何処行ったのか?
…わかりませんorz
で、とりあえずその両方のWSSEヘッダをアルゴリズムに通したところ、やっぱりどっちもPasswordDigestが一致しなかった。何故?
なら、認証が通ってる場所がどんなレスポンスしてるのか調べようとしてみた。
とりあえずFC2のAPIはちゃんと設定したら通った。
と言う訳で、適当にCGI組んでHTTP通信でX_WSSEのヘッダを投げてみた。
…何も起こらなかったorz
どうやらXML-RPCなので、正しいレスポンスを得るには別の手段が必要らしい。
ちなみに、FC2のエンドポイントURLはhttp://blog.fc2.com/xmlrpc.php
あと、perlでのHTTP通信を今までやった事がなく、組んだCGIがあまりにお粗末な代物だったので、XML-RPCに投げるべきXMLを上手く送れなかった。
その為、未だにXML-RPCの正しいリクエストとレスポンスのフォーマットがいまいちわからなかった。
そんな訳でXML-RPCについて色々と調べてみた。
XML-RPCは、ブログシステムのエンドポイントURLに向かってメソッド、ユーザID、パスワード、その他メソッドごとに必要なパラメータを投げる事によって、対象のブログから情報を得たり、記事を追加したりする事が出来る。
また、それぞれのパラメータはXMLで整形したものを渡さなければならない。
詳しくはこちら。
XML-RPC仕様書
でも、ブログペットのオーナーページで設定したAPIに向かってXML投げてる形跡がない。
と言うか最初からXML投げてくれてればここまで四苦八苦してない…。
ここまで数時間やって色々と尽き果てかけてた自分は何を思ったか、適当なメソッドのレスポンス例を直接叩きつけるとか言うアホな行動に出た。
Lanタソさんのコメントで"記事取得のAPIを叩いている"と言うのを根拠に、
・metaWeblog.getRecentPosts
・metaWeblog.getPost
のレスポンス例を適当に叩きつけてみた。
まぁ結果は予想通り何も変化無しだった訳ですが。
この辺りで力尽きたらしいので、今回はここで終了。
もうちょっとHTTP通信の勉強してからまたやります…。
・参考文献
MetaWeblog APIのXMLデータ
MetaWeblogAPI関連
FC2ブログのエンドポイント
Movable Type で使える XML-RPC API
MovableTypeを制覇する
JavaScript WSSE Header Generator
PerlでHTTP通信
LWPモジュール v5.48
HTTPのステータスコード
結論から言うと今回も駄目でした。
まず、投稿用APIの設定での最初の認証では、3種類の認証方法を試しているらしいので(前回の記事のLanタソさんのコメントから)、とりあえずcgiへのアクセスを全部取ってみた。
すると何故か作成されるファイルが2つしかない。
どっちもヘッダにHTTP_X_WSSEがあった事から、この2つはATOM APIへのWSSE認証だと思われる。
ではXML-RPCへの認証は何処行ったのか?
…わかりませんorz
で、とりあえずその両方のWSSEヘッダをアルゴリズムに通したところ、やっぱりどっちもPasswordDigestが一致しなかった。何故?
なら、認証が通ってる場所がどんなレスポンスしてるのか調べようとしてみた。
とりあえずFC2のAPIはちゃんと設定したら通った。
と言う訳で、適当にCGI組んでHTTP通信でX_WSSEのヘッダを投げてみた。
…何も起こらなかったorz
どうやらXML-RPCなので、正しいレスポンスを得るには別の手段が必要らしい。
ちなみに、FC2のエンドポイントURLはhttp://blog.fc2.com/xmlrpc.php
あと、perlでのHTTP通信を今までやった事がなく、組んだCGIがあまりにお粗末な代物だったので、XML-RPCに投げるべきXMLを上手く送れなかった。
その為、未だにXML-RPCの正しいリクエストとレスポンスのフォーマットがいまいちわからなかった。
そんな訳でXML-RPCについて色々と調べてみた。
XML-RPCは、ブログシステムのエンドポイントURLに向かってメソッド、ユーザID、パスワード、その他メソッドごとに必要なパラメータを投げる事によって、対象のブログから情報を得たり、記事を追加したりする事が出来る。
また、それぞれのパラメータはXMLで整形したものを渡さなければならない。
詳しくはこちら。
XML-RPC仕様書
でも、ブログペットのオーナーページで設定したAPIに向かってXML投げてる形跡がない。
と言うか最初からXML投げてくれてればここまで四苦八苦してない…。
ここまで数時間やって色々と尽き果てかけてた自分は何を思ったか、適当なメソッドのレスポンス例を直接叩きつけるとか言うアホな行動に出た。
Lanタソさんのコメントで"記事取得のAPIを叩いている"と言うのを根拠に、
・metaWeblog.getRecentPosts
・metaWeblog.getPost
のレスポンス例を適当に叩きつけてみた。
まぁ結果は予想通り何も変化無しだった訳ですが。
この辺りで力尽きたらしいので、今回はここで終了。
もうちょっとHTTP通信の勉強してからまたやります…。
・参考文献
MetaWeblog APIのXMLデータ
MetaWeblogAPI関連
FC2ブログのエンドポイント
Movable Type で使える XML-RPC API
MovableTypeを制覇する
JavaScript WSSE Header Generator
PerlでHTTP通信
LWPモジュール v5.48
HTTPのステータスコード
time stamp:2008/04/06 00:45:05
トラックバック(0)|コメント(0)
トラックバック(0)|コメント(0)
この記事のトラックバックURL:
コメントを書く
何かしら