<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>[WordPress] XML-RPC を使用する方法 へのコメント</title>
	<atom:link href="http://blog.syuhari.jp/archives/1373/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.syuhari.jp/archives/1373</link>
	<description>I love iPhone, CakePHP and WordPress.</description>
	<lastBuildDate>Tue, 31 Jan 2012 05:42:03 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>sas より</title>
		<link>http://blog.syuhari.jp/archives/1373/comment-page-1#comment-1602</link>
		<dc:creator>sas</dc:creator>
		<pubDate>Mon, 17 Oct 2011 04:45:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.syuhari.jp/blog/?p=1373#comment-1602</guid>
		<description>参考にさせていただきwordpressに投稿することができました。ありがとうございます。

が、日本語がなぜか文字化けしてしまいます。

投稿先サーバは桜サーバで自前のwordpressになり文字コードはutf-8となっております。
どこに問題があるかご教授いただけないでしょうか？

require_once(&quot;XML/RPC.php&quot;);

$host = &quot;host&quot;;
$xmlrpc_path = &quot;path&quot;;
$appkey = &#039;&#039;;
$user = &#039;user&#039;;
$passwd =&#039;pass&#039;;

$c = new XML_RPC_client($xmlrpc_path, $host, 80);
$appkey = new XML_RPC_Value($appkey, &#039;string&#039;);
$username = new XML_RPC_Value( $user, &#039;string&#039; );
$passwd = new XML_RPC_Value( $passwd, &#039;string&#039; );

$message = new XML_RPC_Message(
    &#039;blogger.getUsersBlogs&#039;,
    array($appkey, $username, $passwd) );

$result = $c-&gt;send($message);

if( !$result ){
 	exit(&#039;Could not connect to the server.&#039;);
}else if( $result-&gt;faultCode() ){
 	exit($result-&gt;faultString());
}
$blogs = XML_RPC_decode($result-&gt;value());

$blog_id = new XML_RPC_Value($blogs[0][&quot;blogid&quot;], &quot;string&quot;);

$title = &#039;TITLE&#039;;
$categories = array(
    new XML_RPC_Value(&quot;category name1&quot;, &quot;string&quot;),
    new XML_RPC_Value(&quot;category name2&quot;, &quot;string&quot;)
);
$description = &quot;ここに本文を入れます。HTML も書けます&quot;;
$content = new XML_RPC_Value(
    array(
        &#039;title&#039; =&gt; new XML_RPC_Value($title, &#039;string&#039;),
        &#039;categories&#039; =&gt; new XML_RPC_Value($categories, &#039;array&#039;),
        &#039;description&#039; =&gt; new XML_RPC_Value($description, &#039;string&#039;),
        &#039;dateCreated&#039; =&gt; new XML_RPC_Value(time(), &#039;dateTime.iso8601&#039;)
    ),
    &#039;struct&#039;);
$publish = new XML_RPC_Value(1, &quot;boolean&quot;);
$message = new XML_RPC_Message(
    &#039;metaWeblog.newPost&#039;,
    array($blog_id, $username, $passwd, $content, $publish));

$result = $c-&gt;send($message);

if( !$result ){
    exit(&#039;Could not connect to the server.&#039;);
}else if( $result-&gt;faultCode() ){
    exit($result-&gt;faultString());
}
$post_id = XML_RPC_decode($result-&gt;value());</description>
		<content:encoded><![CDATA[<p>参考にさせていただきwordpressに投稿することができました。ありがとうございます。</p>
<p>が、日本語がなぜか文字化けしてしまいます。</p>
<p>投稿先サーバは桜サーバで自前のwordpressになり文字コードはutf-8となっております。<br />
どこに問題があるかご教授いただけないでしょうか？</p>
<p>require_once(&#8220;XML/RPC.php&#8221;);</p>
<p>$host = &#8220;host&#8221;;<br />
$xmlrpc_path = &#8220;path&#8221;;<br />
$appkey = &#8221;;<br />
$user = &#8216;user&#8217;;<br />
$passwd =&#8217;pass&#8217;;</p>
<p>$c = new XML_RPC_client($xmlrpc_path, $host, 80);<br />
$appkey = new XML_RPC_Value($appkey, &#8216;string&#8217;);<br />
$username = new XML_RPC_Value( $user, &#8216;string&#8217; );<br />
$passwd = new XML_RPC_Value( $passwd, &#8216;string&#8217; );</p>
<p>$message = new XML_RPC_Message(<br />
    &#8216;blogger.getUsersBlogs&#8217;,<br />
    array($appkey, $username, $passwd) );</p>
<p>$result = $c-&gt;send($message);</p>
<p>if( !$result ){<br />
 	exit(&#8216;Could not connect to the server.&#8217;);<br />
}else if( $result-&gt;faultCode() ){<br />
 	exit($result-&gt;faultString());<br />
}<br />
$blogs = XML_RPC_decode($result-&gt;value());</p>
<p>$blog_id = new XML_RPC_Value($blogs[0]["blogid"], &#8220;string&#8221;);</p>
<p>$title = &#8216;TITLE&#8217;;<br />
$categories = array(<br />
    new XML_RPC_Value(&#8220;category name1&#8243;, &#8220;string&#8221;),<br />
    new XML_RPC_Value(&#8220;category name2&#8243;, &#8220;string&#8221;)<br />
);<br />
$description = &#8220;ここに本文を入れます。HTML も書けます&#8221;;<br />
$content = new XML_RPC_Value(<br />
    array(<br />
        &#8216;title&#8217; =&gt; new XML_RPC_Value($title, &#8216;string&#8217;),<br />
        &#8216;categories&#8217; =&gt; new XML_RPC_Value($categories, &#8216;array&#8217;),<br />
        &#8216;description&#8217; =&gt; new XML_RPC_Value($description, &#8216;string&#8217;),<br />
        &#8216;dateCreated&#8217; =&gt; new XML_RPC_Value(time(), &#8216;dateTime.iso8601&#8242;)<br />
    ),<br />
    &#8216;struct&#8217;);<br />
$publish = new XML_RPC_Value(1, &#8220;boolean&#8221;);<br />
$message = new XML_RPC_Message(<br />
    &#8216;metaWeblog.newPost&#8217;,<br />
    array($blog_id, $username, $passwd, $content, $publish));</p>
<p>$result = $c-&gt;send($message);</p>
<p>if( !$result ){<br />
    exit(&#8216;Could not connect to the server.&#8217;);<br />
}else if( $result-&gt;faultCode() ){<br />
    exit($result-&gt;faultString());<br />
}<br />
$post_id = XML_RPC_decode($result-&gt;value());</p>
]]></content:encoded>
	</item>
	<item>
		<title>baku より</title>
		<link>http://blog.syuhari.jp/archives/1373/comment-page-1#comment-1582</link>
		<dc:creator>baku</dc:creator>
		<pubDate>Sat, 27 Aug 2011 01:37:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.syuhari.jp/blog/?p=1373#comment-1582</guid>
		<description>matsuuraさん

先ほど無事投稿できました。

プログラムをutf-8で保存するとうまくいきました。

ありがとうございました。</description>
		<content:encoded><![CDATA[<p>matsuuraさん</p>
<p>先ほど無事投稿できました。</p>
<p>プログラムをutf-8で保存するとうまくいきました。</p>
<p>ありがとうございました。</p>
]]></content:encoded>
	</item>
	<item>
		<title>baku より</title>
		<link>http://blog.syuhari.jp/archives/1373/comment-page-1#comment-1579</link>
		<dc:creator>baku</dc:creator>
		<pubDate>Thu, 25 Aug 2011 23:30:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.syuhari.jp/blog/?p=1373#comment-1579</guid>
		<description>matsuuraさん

さきほどのDeprecated: Function split() is deprecatedのエラーも解消されました。

その後、phpファイルにアクセスすると、parse error. not well formedというメッセージが表示されます。

これはプログラムが悪いのでしょうか？
行数が表示されてないのでプログラムが原因なのか分かりません。
ワードプレスを見てみても投稿されてなかったので失敗しているとは思いますが。

何か思い当たることはおありでしょうか？

宜しくお願い致します。</description>
		<content:encoded><![CDATA[<p>matsuuraさん</p>
<p>さきほどのDeprecated: Function split() is deprecatedのエラーも解消されました。</p>
<p>その後、phpファイルにアクセスすると、parse error. not well formedというメッセージが表示されます。</p>
<p>これはプログラムが悪いのでしょうか？<br />
行数が表示されてないのでプログラムが原因なのか分かりません。<br />
ワードプレスを見てみても投稿されてなかったので失敗しているとは思いますが。</p>
<p>何か思い当たることはおありでしょうか？</p>
<p>宜しくお願い致します。</p>
]]></content:encoded>
	</item>
	<item>
		<title>matsuura より</title>
		<link>http://blog.syuhari.jp/archives/1373/comment-page-1#comment-1578</link>
		<dc:creator>matsuura</dc:creator>
		<pubDate>Thu, 25 Aug 2011 23:03:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.syuhari.jp/blog/?p=1373#comment-1578</guid>
		<description>&gt; bakuさん
PHP5.3 を使われているのですね。5.3 だとそのエラーが出ますね。対応方法はそれで問題ないです。</description>
		<content:encoded><![CDATA[<p>> bakuさん<br />
PHP5.3 を使われているのですね。5.3 だとそのエラーが出ますね。対応方法はそれで問題ないです。</p>
]]></content:encoded>
	</item>
	<item>
		<title>baku より</title>
		<link>http://blog.syuhari.jp/archives/1373/comment-page-1#comment-1577</link>
		<dc:creator>baku</dc:creator>
		<pubDate>Thu, 25 Aug 2011 22:24:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.syuhari.jp/blog/?p=1373#comment-1577</guid>
		<description>matsuuraさん

ご回答ありがとうございます。
見直し、Parse errorは出なくなりましたが
代わりに下記エラーが出るようになりました。

Deprecated: Function split() is deprecated in C:\xampp\php\PEAR\XML\RPC.php on line 1558

Deprecated: Function split() is deprecated in C:\xampp\php\PEAR\XML\RPC.php on line 1558
parse error. not well formed

調べたところ、PHPのバージョンの問題らしく、
split() が問題なので、explode() に置換すればいい
そうなのですがmatsuuraさんも同じような対応を
されたことがあるのでしょうか？

宜しくお願い致します。</description>
		<content:encoded><![CDATA[<p>matsuuraさん</p>
<p>ご回答ありがとうございます。<br />
見直し、Parse errorは出なくなりましたが<br />
代わりに下記エラーが出るようになりました。</p>
<p>Deprecated: Function split() is deprecated in C:\xampp\php\PEAR\XML\RPC.php on line 1558</p>
<p>Deprecated: Function split() is deprecated in C:\xampp\php\PEAR\XML\RPC.php on line 1558<br />
parse error. not well formed</p>
<p>調べたところ、PHPのバージョンの問題らしく、<br />
split() が問題なので、explode() に置換すればいい<br />
そうなのですがmatsuuraさんも同じような対応を<br />
されたことがあるのでしょうか？</p>
<p>宜しくお願い致します。</p>
]]></content:encoded>
	</item>
	<item>
		<title>matsuura より</title>
		<link>http://blog.syuhari.jp/archives/1373/comment-page-1#comment-1576</link>
		<dc:creator>matsuura</dc:creator>
		<pubDate>Thu, 25 Aug 2011 19:58:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.syuhari.jp/blog/?p=1373#comment-1576</guid>
		<description>&gt; bakuさん
はじめまして。参考にしていただきありがとうございます。Parse error ですので入力内容に間違いがないか再度確認してみてください。あと、PEAR の XML_RPC が入っているか、パスが通っているかなども確認してみてください。</description>
		<content:encoded><![CDATA[<p>> bakuさん<br />
はじめまして。参考にしていただきありがとうございます。Parse error ですので入力内容に間違いがないか再度確認してみてください。あと、PEAR の XML_RPC が入っているか、パスが通っているかなども確認してみてください。</p>
]]></content:encoded>
	</item>
	<item>
		<title>baku より</title>
		<link>http://blog.syuhari.jp/archives/1373/comment-page-1#comment-1575</link>
		<dc:creator>baku</dc:creator>
		<pubDate>Thu, 25 Aug 2011 15:49:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.syuhari.jp/blog/?p=1373#comment-1575</guid>
		<description>初めまして。

記事を拝見させていただきまして、
現在チャレンジ中です。
ありがとうございます。

いきなりの質問で申し訳ございません。

記事の通り、phpファイルを作ったのですが、
動作方法は該当のphpファイルにアクセスするだけで
大丈夫でしょうか？

大丈夫と仮定した場合、
実際にアクセスしてみると
「Parse error: syntax error, unexpected T_LNUMBER in xxx」
とうエラーが出ました。

ソースコード上では、require_once(&quot;XML/RPC.php&quot;);
の部分になります。

調べてみたのですが、よく分かりませんでした。

原因などお分かりでしたら教えて頂ければ幸いです。

宜しくお願い致します。</description>
		<content:encoded><![CDATA[<p>初めまして。</p>
<p>記事を拝見させていただきまして、<br />
現在チャレンジ中です。<br />
ありがとうございます。</p>
<p>いきなりの質問で申し訳ございません。</p>
<p>記事の通り、phpファイルを作ったのですが、<br />
動作方法は該当のphpファイルにアクセスするだけで<br />
大丈夫でしょうか？</p>
<p>大丈夫と仮定した場合、<br />
実際にアクセスしてみると<br />
「Parse error: syntax error, unexpected T_LNUMBER in xxx」<br />
とうエラーが出ました。</p>
<p>ソースコード上では、require_once(&#8220;XML/RPC.php&#8221;);<br />
の部分になります。</p>
<p>調べてみたのですが、よく分かりませんでした。</p>
<p>原因などお分かりでしたら教えて頂ければ幸いです。</p>
<p>宜しくお願い致します。</p>
]]></content:encoded>
	</item>
	<item>
		<title>matsuura より</title>
		<link>http://blog.syuhari.jp/archives/1373/comment-page-1#comment-1518</link>
		<dc:creator>matsuura</dc:creator>
		<pubDate>Wed, 01 Jun 2011 18:18:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.syuhari.jp/blog/?p=1373#comment-1518</guid>
		<description>aki さん
解決してよかったです！あまりお役に立てずにすいません。</description>
		<content:encoded><![CDATA[<p>aki さん<br />
解決してよかったです！あまりお役に立てずにすいません。</p>
]]></content:encoded>
	</item>
	<item>
		<title>aki より</title>
		<link>http://blog.syuhari.jp/archives/1373/comment-page-1#comment-1515</link>
		<dc:creator>aki</dc:creator>
		<pubDate>Wed, 01 Jun 2011 10:32:06 +0000</pubDate>
		<guid isPermaLink="false">http://www.syuhari.jp/blog/?p=1373#comment-1515</guid>
		<description>解決しました！
ハッスルサーバーに問い合わせたところ
--------------------------------------
ハッスルサーバーでは、外国からの一部の一部のアクセスを制限させて
いただいております。もし解除されたい場合は、

＜Files *＞
 ＜Limit POST＞
   order allow,deny
   allow from all
 ＜/Limit＞
＜/Files＞

という内容の.htaccessを設置すると、制限が解除されますので、
ご利用ください。
-----------------------------------

という返答が返ってきました。「同じサーバー内からのアクセスなのにまさかなー」と思いつつxmlrpc.phpのあるディレクトリの.htaccessを書き換えたところ、投稿可能となりました。

低レベルな質問でお手を煩わせてしまい申し訳ございません。
素早いレスを頂き本当に感謝しております、ありがとうございました。</description>
		<content:encoded><![CDATA[<p>解決しました！<br />
ハッスルサーバーに問い合わせたところ<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
ハッスルサーバーでは、外国からの一部の一部のアクセスを制限させて<br />
いただいております。もし解除されたい場合は、</p>
<p>＜Files *＞<br />
 ＜Limit POST＞<br />
   order allow,deny<br />
   allow from all<br />
 ＜/Limit＞<br />
＜/Files＞</p>
<p>という内容の.htaccessを設置すると、制限が解除されますので、<br />
ご利用ください。<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>という返答が返ってきました。「同じサーバー内からのアクセスなのにまさかなー」と思いつつxmlrpc.phpのあるディレクトリの.htaccessを書き換えたところ、投稿可能となりました。</p>
<p>低レベルな質問でお手を煩わせてしまい申し訳ございません。<br />
素早いレスを頂き本当に感謝しております、ありがとうございました。</p>
]]></content:encoded>
	</item>
	<item>
		<title>aki より</title>
		<link>http://blog.syuhari.jp/archives/1373/comment-page-1#comment-1514</link>
		<dc:creator>aki</dc:creator>
		<pubDate>Tue, 31 May 2011 07:31:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.syuhari.jp/blog/?p=1373#comment-1514</guid>
		<description>ご回答ありがとうございます。
WindowsLiveWriterからの投稿は問題無くできました。
追いかけてみたところ最初のmessage送信（ブログIDの取得）のところでエラーとなっているようなのでやはりxmlrpc.phpのパスの問題でしょうか。

$host = &quot;sample.biz&quot;;
$xmlrpc_path = &quot;/xmlrpc.php&quot;;

これで間違えようは無い気がするのですが。なお
http://sample.biz/xmlrpc.php にブラウザからアクセスできることは確認しました。

また上記の最初のmessage送信のresultのダンプは

object(XML_RPC_Response)#6 (4) 
{
 [&quot;xv&quot;]=&gt; NULL
 [&quot;fn&quot;]=&gt; int(5)
 [&quot;fs&quot;]=&gt; string(66) &quot;Didn&#039;t receive 200 OK from remote server. (HTTP/1.1 403 Forbidden)&quot;
 [&quot;hdrs&quot;]=&gt; NULL 
}

です。

お手数をおかけして恐縮ですが、お気づきの点がありましたらご指摘下さい。</description>
		<content:encoded><![CDATA[<p>ご回答ありがとうございます。<br />
WindowsLiveWriterからの投稿は問題無くできました。<br />
追いかけてみたところ最初のmessage送信（ブログIDの取得）のところでエラーとなっているようなのでやはりxmlrpc.phpのパスの問題でしょうか。</p>
<p>$host = &#8220;sample.biz&#8221;;<br />
$xmlrpc_path = &#8220;/xmlrpc.php&#8221;;</p>
<p>これで間違えようは無い気がするのですが。なお<br />
<a href="http://sample.biz/xmlrpc.php" rel="nofollow" target="_blank" class="liexternal">http://sample.biz/xmlrpc.php</a> にブラウザからアクセスできることは確認しました。</p>
<p>また上記の最初のmessage送信のresultのダンプは</p>
<p>object(XML_RPC_Response)#6 (4)<br />
{<br />
 ["xv"]=&gt; NULL<br />
 ["fn"]=&gt; int(5)<br />
 ["fs"]=&gt; string(66) &#8220;Didn&#8217;t receive 200 OK from remote server. (HTTP/1.1 403 Forbidden)&#8221;<br />
 ["hdrs"]=&gt; NULL<br />
}</p>
<p>です。</p>
<p>お手数をおかけして恐縮ですが、お気づきの点がありましたらご指摘下さい。</p>
]]></content:encoded>
	</item>
</channel>
</rss>

