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






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

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
    アーカイブ メタ情報