tekitoumemo’s diary

思ったことを書くだけ。長文版Twitter

【C#】WP REST API

WordPressから記事やらなんやらを取れて便利だよってAPI

"http://blog/wp-json/posts?filter[category_name]=未分類"

こいつをリクエストすると未分類カテゴリの記事情報が返ってくる。

ココのに書いてあるFILTERらへんでだいたい取得したい情報が取れる。
てかWordPress自体ほぼ触ったことないからどういうもんだかわからん。
しかも

"http://blog/wp-json/posts?filter[category_name]=お知らせ"

で絞ると上手く取れない。URLエンコードしても取れない。イミフ。
だからcatのid指定でカテゴリ別に取得する感じで解決。
WordPressはカテゴリとタグはidで同様に管理されてる<ココのwp_term_taxonomyこれ教えてもらったんだけどよくこんなとこ見てるよなーって。マニア杉

一応、C#での取得方法をGithub

var wordpress = JsonConvert.DeserializeObject<IList<Class1>>(json);

ここ結構詰まった。Property1クラスでいけそうなんだけど無理やった。できたからいいや的な感じで調べてない。
てかなんでWebClientにしたんだっけ?なんかゴリ押しな感じがするJsonの取り方だけとなんでHttpRequestしないんだっけ?多分取れずに諦めたんかな?暇あったら調べる
JSONやXMLをクラスに形成するやつ最強。
でもタグとか色々設定しなきゃ完全なJSONは取れんからそこは考えなきゃね。そんないっぱい情報いらねーけど。

これ使えばブログを自コンテンツとして取り込めるからSEO的に良いんだと。
昔は被リンク→多けりゃいい、コンテンツ量→どうでもいいが
今は被リンク→クソみたいなもんじゃなければ多い方が良い、コンテンツ量→クソみたいなもんじゃなければ多い方が良い
だから結構熱い感じ。ま、WordPressIISに取り込むことが出来るっぽいんだけどね。WordPress脆弱性が見つかったら
本コンテンツが詰むけど

次はSelenium書くかー

追記 : 2015/08/12
はじめの/wp-json/postsのとこで未分類意外取れないってやつ、slugを指定すれば多分取れる。試してない。

追記 : 2015/08/14
postsは50件程度しか取れない。
yearで指定してチマチマ取ってくるしかないね。っかサーバ側の問題か?