perl で XMLRPC::Data->type arrayをどうする | 評価特典.確実に稼ぐ商材評価アフィリハローワークゆずまる






perl で XMLRPC::Data->type arrayをどうする

inline:br rep in ENV:checked
XMLRPCでワードプレス(WP,Wordpress)ブログに投稿してやろうと思ったのね?

通常は、こうやる。

$result = XMLRPC::Lite
-> proxy($endpoint)
-> call('metaWeblog.newPost', $blogid, $username, $password,
{
#-- ブログ記事タイトル
'title' => XMLRPC::Data->type('string', "タイトル"),
#-- ブログ記事本文
'description' => XMLRPC::Data->type('string', "本文"),
#-- ブログ記事本文(タグ)
'mt_keywords' => XMLRPC::Data->type('string', "タグ"),
#-- コメントステータス 0:off 1:on
'mt_allow_comments' => $postcmnt,
#-- PINGステータス
'mt_allow_pings' => $postping,
},
1
)
-> result;
※$postcmnt $postping には、1または0が入る

でもさ、これだと未定義のカテゴリーに投稿されてしまう。
だから、categories ってやつに値を入れてやるのはわかると思うだけど、
array って形で吐き出さないといけないのさ。

phpでは山のように情報がある。
'categories' => array("カテゴリー1","カテゴリー1"),
とかってね?

perl でどうやるのよって話さ。

こういうことは結論を見たいと思うので即答。
こう書く。もちろん全角文字はUTF8に変換すべし。そこは調べたまえ、直ぐ見つかる。
push(@ctgr,"カテゴリー1");
push(@ctgr,"カテゴリー2");
@ctgr_str=();
foreach(@ctgr){
push(@ctgr_str,XMLRPC::Data->type('string', $_));
}
$result = XMLRPC::Lite
-> proxy($endpoint)
-> call('metaWeblog.newPost', $blogid, $username, $password,
{
#-- ブログ記事タイトル
'title' => XMLRPC::Data->type('string', "タイトル"),
#-- ブログ記事本文
'description' => XMLRPC::Data->type('string', "本文"),
#-- ブログ記事本文(タグ)
'mt_keywords' => XMLRPC::Data->type('string', "タグ"),
#-- コメントステータス 0:off 1:on
'mt_allow_comments' => $postcmnt,
#-- PINGステータス
'mt_allow_pings' => $postping,
#-- categoriesステータス
'categories' => [@ctgr_str],
},
1
)
-> result;

知りたいだろうことのまとめ。
Q,arrayはどうする?
A,配列に入れて [@配列]って感じで指定する
Q,所属させたいカテゴリーはどう指定する?
A,カテゴリー名(もろカテゴリーの名前)を複数で指定する

ついでに

perl での カテゴリーの一覧取得

eval{
$result = XMLRPC::Lite
-> proxy($endpoint)
-> call($WPcmd, $blogid, $username, $password,
{
},
1
)
-> result;
};
tracesub(“resultX=$result”);
foreach( @$result ){
%tmp = %$_;
$catid =$tmp{“categoryId”};
$catname =$tmp{“categoryName”};
$catnameV=$catname;
$catnameV=strcode_conv(‘utf8N2sjis’,$catnameV);
tracesub(“—————–“);
tracesub(“$catid)P=$catname”);
tracesub(“$catid)V=$catnameV”);
}

※tracesub ってのは、実行ログを表示させるオリジナルモジュールです。

全角は UTF8N で戻ってくるのでソースが shift-jis ならば、文字列変換が必要。
オリジナルモジュールにしてあるけど、実際はこう書く。
use Encode;
$catnameV=encode(‘shiftjis’, decode(‘utf8’, $catnameV));

これで拾ったカテゴリーをそのまま使って投稿してあげればいいってことだ。

とにかく、猫も杓子も php でとっても困る。
perl 使いの役に立てたら幸いです。

XMLRPCも使えない telnet も使えないサーバーで XMLRPCを使うには

サーバーによっては使えないかもしれないけど、最近は使えるサーバーが多くなってきた。
cpan から perl のライブラリ拾ってきて、
ディレクトリに保存しておく。
それを仮に mycpanってところに保存したら、こう書く。
#
# mypcan
#  |
#  +—XMLRPC
#  |  |
#  |  +—Lite.pm

use lib qw(./mycpan);
use XMLRPC::Lite;




 
プロフィール

ゆずまる
アフィリで稼ぐプログラマ@ゆずまる
百戦錬磨の老兵プログラマでWEBプロデューサーのゆずまるです。 大御所アフィリエイターのあの方に「あのゆずまる」とまで言わしめた、プログラマアフィリエイターの視点で、情報商材をご紹介いたします。 あなた同様「楽しく楽な高額報酬アフィリエイト」をモットウにしています。 コンピュータの専門学校の講師の経験から超初心者のあなたでもサポートばっちり♪ 安心してね? プロフィール
あなたは、ゆずまるを知らなくとも、ゆずまるは、生まれる前からあなたを知ってます。(オカルトですか?!>自分)
こんなノリでもノリで答えたりしませんから。

アフィリエイトの挫折や無料レポートのテーマ、サイトのテーマなどお悩みなどお気軽にご相談ください

 
最近の投稿

 
カテゴリー

 
最近のコメント

 
コメントについて

コメントは、各記事のこの部分↓のリンクをクリックして記事ページへ移動することでコメント欄がついたページがになります。
コメントを許可していないページもありますので、イライラしないようにお願いいたしますw
 
アーカイブ

 
コミニュケーション

 
メタ情報