シーサーブログのXMLRPC投稿、カテゴリー設定
15投稿でやっと、カテゴリーの変更ができました。情報不足ですわ。
どーして、プログラムを書く人は、伝えることが下手なんだろう。
知識をひけらかしたいってのはあると思うんだけどね。
きちんとした情報発信してる人は少ない。情報処理してる人なのにね?(笑
グーグルとかマイクロソフトのサポートとかって最悪さね。
まぁ、相手のレベルがわからないから仕方ないのかもしれないけど、
低レベルから話をしてみて、そこから上げていくべきだと思うのね。
ところで、シーサーの XMLRPC は、タグを送れるのでしょうか?
キーワードでいいとおもったら、なんと、アフィリのキーワードのようで、
タグは、また別の話みたいです。
つーことは、metaWeblog の仕様とは別なのね?
シンボルあるのかなぁ?
ああ、でね?
perl でやるときさ、半端な perl プログラマは、なかなか通せなくて困ると思うのね?
何を送るのか?
どう送るのか?
perl のライブラリ XMLRPC を使うとさ、うまく渡せない。
てか、渡せるんだけど、どう書けばいいのかわからないのさ。
つまり、XML で送信パラメータを作って、それを送ってやればいい。
送るところだけ書いておくと。
送り引数
$endpoint:エンドポイント
$requestbody:送信するXMLのボディ
戻り
$response:ステータス
$content:送り返してきたXML
送り返してきたXMLは、こうやって解析する。
foreach( @$result ){
%tmp = %$_;
$val = $tmp{“受け取りたいシンボル名”};
}
※val は UTL8 で戻ってくるので、
ソースを sjisで書いているのなら、
全角文字の場合 sjis に変換する必要がある。
Encode を使うなら、こんな感じ
$val=encode(‘cp932’, decode_utf8($val));
全角変換は、私は、こう使ってます。
$org=$val;
eval{
$src=encode(‘shiftjis’, decode(‘utf8’, $val));
};
$rtry=0;
if($@){
$rtry=1;
};
if( $rtry==1 ){
$val=$org;
eval{
$val=encode(‘cp932’, decode_utf8($val));
};
}
—-こっから生送りの本体—-
use LWP::UserAgent;
use HTTP::Request;
use Encode qw/decode encode/;
use utf8;
binmode STDERR, “encoding(utf8)”;
my $ua = LWP::UserAgent->new;
my $request = HTTP::Request->new (POST => $endpoint );
$request->content_type(‘text/xml’);
$request->content(encode ‘utf8’, $requestbody);
my $response = $ua->request($request);
my $content = decode (‘utf8’, $response->content);
—-ここまで—-
postid は、metaWeblog.newPost で書き込んだとき戻ってきた値。
(書き込み失敗したらエラーステータスが戻るので注意 eval で対応しておこう)
postctgrは、カテゴリー番号。この番号は、カテゴリー一覧(mt.getCategoryList)で取得すべし。
—-送信するXMLのボディ—-
<methodName>mt.setPostCategories</methodName>
<params>
<param>
<value><string>$postid</string></value>
</param>
<param>
<value><string>$username</string></value>
</param>
<param>
<value><string>$password</string></value>
</param>
<param>
<value>
<array>
<data>
<value>
<struct>
<member>
<name>categoryId</name>
<value><string>$postctgr</string></value>
</member>
<member>
<name>isPrimary</name>
<value><boolean>1</boolean></value>
</member>
</struct>
</value>
</data>
</array>
</value>
</param>
</params>
</methodCall>
———————–
どーして、プログラムを書く人は、伝えることが下手なんだろう。
知識をひけらかしたいってのはあると思うんだけどね。
きちんとした情報発信してる人は少ない。情報処理してる人なのにね?(笑
グーグルとかマイクロソフトのサポートとかって最悪さね。
まぁ、相手のレベルがわからないから仕方ないのかもしれないけど、
低レベルから話をしてみて、そこから上げていくべきだと思うのね。
ところで、シーサーの XMLRPC は、タグを送れるのでしょうか?
キーワードでいいとおもったら、なんと、アフィリのキーワードのようで、
タグは、また別の話みたいです。
つーことは、metaWeblog の仕様とは別なのね?
シンボルあるのかなぁ?
ああ、でね?
perl でやるときさ、半端な perl プログラマは、なかなか通せなくて困ると思うのね?
何を送るのか?
どう送るのか?
perl のライブラリ XMLRPC を使うとさ、うまく渡せない。
てか、渡せるんだけど、どう書けばいいのかわからないのさ。
つまり、XML で送信パラメータを作って、それを送ってやればいい。
送るところだけ書いておくと。
送り引数
$endpoint:エンドポイント
$requestbody:送信するXMLのボディ
戻り
$response:ステータス
$content:送り返してきたXML
送り返してきたXMLは、こうやって解析する。
foreach( @$result ){
%tmp = %$_;
$val = $tmp{“受け取りたいシンボル名”};
}
※val は UTL8 で戻ってくるので、
ソースを sjisで書いているのなら、
全角文字の場合 sjis に変換する必要がある。
Encode を使うなら、こんな感じ
$val=encode(‘cp932’, decode_utf8($val));
全角変換は、私は、こう使ってます。
$org=$val;
eval{
$src=encode(‘shiftjis’, decode(‘utf8’, $val));
};
$rtry=0;
if($@){
$rtry=1;
};
if( $rtry==1 ){
$val=$org;
eval{
$val=encode(‘cp932’, decode_utf8($val));
};
}
—-こっから生送りの本体—-
use LWP::UserAgent;
use HTTP::Request;
use Encode qw/decode encode/;
use utf8;
binmode STDERR, “encoding(utf8)”;
my $ua = LWP::UserAgent->new;
my $request = HTTP::Request->new (POST => $endpoint );
$request->content_type(‘text/xml’);
$request->content(encode ‘utf8’, $requestbody);
my $response = $ua->request($request);
my $content = decode (‘utf8’, $response->content);
—-ここまで—-
postid は、metaWeblog.newPost で書き込んだとき戻ってきた値。
(書き込み失敗したらエラーステータスが戻るので注意 eval で対応しておこう)
postctgrは、カテゴリー番号。この番号は、カテゴリー一覧(mt.getCategoryList)で取得すべし。
—-送信するXMLのボディ—-
<methodName>mt.setPostCategories</methodName>
<params>
<param>
<value><string>$postid</string></value>
</param>
<param>
<value><string>$username</string></value>
</param>
<param>
<value><string>$password</string></value>
</param>
<param>
<value>
<array>
<data>
<value>
<struct>
<member>
<name>categoryId</name>
<value><string>$postctgr</string></value>
</member>
<member>
<name>isPrimary</name>
<value><boolean>1</boolean></value>
</member>
</struct>
</value>
</data>
</array>
</value>
</param>
</params>
</methodCall>
———————–
- COREサーバー
- CRONで選択
- FileQ
- MySQLデータベース
- NSFレンタルサーバー
- Xサーバー
- すみだサーバー
- みんなのドメイン
- ゴミサーバー
- サイト量産用、保管庫
- サクラサーバー
- サーバーに関する情報
- サーバーカウボーイ
- サーバーレビュー一覧
- サーバー個別評価
- ダメサーバー
- チカッパ
- ドメインキング
- ドメイン取得
- ハッスルサーバー
- ヘテムル
- メインサーバー
- メールエイリアス
- レオサーバー
- ロケットネット
- ロリポップ
- ワッピー
- ワードプレスのウィルス
- 使えるネット
- 優良サーバー
- 未分類
- 格安サーバー比較ランキング
- 激安サーバー
- 無限サーバー
- 目的別サーバー選び
- 超優良サーバー
- 雑学・雑知識
- 123サーバー
- 99円サーバー
- IP分散、サテライト