WEB技術

Node.js で 記事を投稿できる、「node-wordpress」を試してみた

node-wordpress の使い方です!

タイトルと記事内容について自動投稿する方法は結構調べたら出てくるけど、メディア(画像)の自動投稿についての記事があんまり見つからないので、しょうがないっと記事を作ってみます。

余談ですが技術書を買いました

JS+Node.jsによるWebクローラー/ネットエージェント開発テクニック
自分のやりたいなーと漠然と思っていたことがいっぱい載ってました。
しばらくこの分野のことを勉強したり、試作したりする生活を送りたい・・・・。

つまり、データ出力場所としてのWordpressということです

クローラーして集めたデータ/解析して加工した情報を定期的に自動投稿できたら良いなぁ、と思うわけなのでこれは避けて通れないことだなぁと思うのです。
では始めていきたいと思います。

試してみます

node-wordpressを使います。
https://github.com/scottgonzalez/node-wordpress/

適当なフォルダで

npm install wordpress

そのフォルダにアップロードしたい画像をおきましょう。
下のデモでは「img.jpg」という名前にしてあります。

var wordpress = require('wordpress');
const fs = require('fs');

//接続設定
const wpClient = wordpress.createClient({
    url: "わーどぷれすのURL",
    username: "ユーザーあいでぃー",
    password: "ぱすわーど"
});

//画像の場所を指定
var filename = "img.jpg";
var file = fs.readFileSync(filename);

//画像のアップロード
wpClient.uploadFile({
    name: filename,
    type: "image/jpg",
    bits: file
}, function (error, data) {
    console.log(arguments);
    console.log(arguments[1].url);

    //コールバックで投稿アップロード
    wpClient.newPost({
        title: 'タイトル',
        status: 'publish',
        thumbnail: arguments[1].id,
        content: '内容',
        author: 1
        //customFields: [{ key: 'hoge', value: 'fuga' }]
    }, function (error, posts) {
        console.log(posts);
    })
});

まず画像をアップロードして、画像のIDをサムネイルに指定して記事を投稿。
という流れになります。

こう書いてみると、シンプルな流れですがけっこう試行錯誤しましたよ。
これでほんとに色々できそうですよ。

まずはあれをやろっかな(妄想)

終わり

こちらの記事もおすすめ!