前回の続きです。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件ですね。もう少し書こう