2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Qiita APIのNode.jsクライアントで記事一覧を取得してみる。

Posted at

前回の続きです。http://qiita.com/n0bisuke/items/4587f42dce3218960730

記事一覧を取得してみます。

list_user_items()というメソッドを使ってみます。

list_user_items(ユーザー名,オプション)という使い方みたいです。ユーザー名指定だけでも使えます。

とりあえず使ってみる

qiita.js
// require in commonjs env
var Qiita = require('qiita-js');

// set your token
Qiita.setToken('your access token');

// fetch resources!
Qiita.Resources.Item.list_user_items('n0bisuke').then(function(item){
	console.log(item);
});

実行してみる

$ node qiita.js

{ rendered_body: '<p><a href="/mizchi" class="user-mention" title="mizchi">@mizchi</a>さんの記事を元に触ってみました。</p>\n\n<p><a href="http://blog.qiita.com/post/104032109599/qiita-api-v2-js-client">http://blog.qiita.com/post/104032109599/qiita-api-v2-js-client</a></p>\n\n<h2>\n<span id="アクセストークンの取得" class="fragment"></span><a href="#%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%83%88%E3%83%BC%E3%82%AF%E3%83%B3%E3%81%AE%E5%8F%96%E5%BE%97"><i class="fa fa-link"></i></a>アクセストークンの取得</h2>\n\n<p><a href="https://qiita.com/settings/applications">ここから</a>取得します。</p>\n\n<p>個人用アクセストークン > 新しいトークンを発行する<br>\n<img src="http://i.gyazo.com/f9c39e0110dd64a9c923f57c4272b298.png" alt=""></p>\n\n<p>とりあえず色々試したいのでスコープは全てチェックしました。<br>\n<img src="http://i.gyazo.com/dce4c415282a4d80d74fcaf116dc1942.png" alt=""></p>\n\n<p><strong>発行される文字列をコピーしておきます。二度と表示されないので注意しましょう。</strong></p>\n\n<h2>\n<span id="インストール" class="fragment"></span><a href="#%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB"><i class="fa fa-link"></i></a>インストール</h2>\n\n<div class="code-frame" data-lang="text"><div class="highlight"><pre>$ npm i qiita-js\n</pre></div></div>\n\n<blockquote>\n<p>関係ないけ
・
・
・

色々とデータ取れますね。

件数の指定

投稿の件数を指定して取得してみます。
ここら辺をみるとオプションにpageやper_pageがあるのが分かります。このあたりのパラメータで操作するみたいですね。

↑のように指定無しだとデフォルトで最新20件を取得するみたいです。

per_pageは1ページに含まれる件数を指定できます。最大で100件みたいです。

qiita.js
// require in commonjs env
var Qiita = require('qiita-js');

// set your token
Qiita.setToken('your access token');

// fetch resources!
Qiita.Resources.Item.list_user_items('n0bisuke',{per_page:100}).then(function(item){
    item.forEach(function(contents){
        console.log(contents.title, contents.created_at);
    });
});

今月の投稿数

Queryのパラメータ使えばうまく取得できるのかな。。。これだと一ヶ月に100件以上投稿してた場合は厳しいですね。

qiita.js
/*
*省略
*/

var count = 1;
Qiita.Resources.Item.list_user_items('n0bisuke',{per_page:100}).then(function(item){
    item.forEach(function(contents){
        var date = contents.created_at.split('-');
        if(date[1] === '12') {
            console.log(contents.title, contents.created_at);
            console.log(count++);
        }
    });
});
$ node qiita.js
Qiita APIをNode.jsから触ってみる 2014-12-31T14:42:50+09:00
1
pm2で管理しているNode.jsプロセスを、Node.jsからpm2を起動して管理する。 2014-12-23T18:36:06+09:00
2
CoffeeScriptでNode.js+Expressを今更ながら始めて見た。 2014-12-23T16:05:42+09:00
・
・
・
26
StreamingAPIで取得したツイートをGoogleSpreadSheetにリアルタイムに書き込んでみました。 2014-12-01T23:18:43+09:00
27
Milkcocoa iOSテスト版を使ってiOSとWebサイトを連動させてみるミニマム構成〜IoTっぽいことをする入門 2014-12-01T01:02:41+09:00
28

なるほど今月は今の所28件ですね。もう少し書こう

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?