ピースペース

XML-RPC.NETを使ってWordPressに投稿してみる

leave a comment »

探せばそれなりにサンプルコードが見つかる。
が、wordpressへの投稿なのに、サンプルはいずれもMetaWeblogかBloggerのメソッドを使っていて、
wordpressがそれらのAPIをサポートしていて、それとは別にwordpressのAPIも使える。
ということが最初わからず手間取った;

wp.newPostというメソッドを使いたい場合は、wp.newPostで指定されているstructが必要になる。
でもって、wp.newPostとMetaWeblog.newPostでは、例えばタグの指定の仕方が異なる。
wp.newPostでカテゴリ、タグは、termsフィールドにセットするのだが、
wordpress APIのドキュメントをいくらみても、これをC#でどう定義するのかがわからない
webもさんざん探すがみつけられない(T.T)

結局、XML-RPC.NETを理解してないのが悪いのだが
いまさらな気がして、なかなかやる気になれない→XML-RPC
をなんとかやって、カテゴリ、タグ、カスタムフィールドを指定できるstructが書けた。
これでなんとか、wp.newPostできそう♪

[XmlRpcMissingMapping(MappingAction.Ignore)]
public struct Content
{
    public string post_type;
    public string post_status;
    public string post_title;
    public string post_content;
    public DateTime post_date;
    public CustomField[] custom_fields;
    public XmlRpcStruct terms;

    public override string ToString()
    {
        return this.post_content;
    }
}

public interface IWordpress : IXmlRpcProxy
{
    [XmlRpcMethod("wp.newPost")]
    string NewPost(int blogId, string username, string password, Content content);
}

Written by nasu38yen

2014年3月15日 @ 5:55 PM

カテゴリー: .NET

Tagged with

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。