結論
PV数(page_views_count)取得は、
アクセストークンで認証済であること
-
対象の記事がトークンで認証したユーザー自身の個別記事であること
が必要だった。
参考にさせて頂きました。
エンジニアチームでアウトプット強化のためにQiita投稿選手権をして、Qiita Organizations一覧のランキング1位になった話
https://yourmystar-engineer.hatenablog.jp/entry/2018/09/01/184225
というのも、Qiita APIを使ってPV数を取得できるのは自分のアカウントの記事のみになってしまいます。他人のアカウントの記事については、いいね数はわかるけどPV数は教えてくれないという仕様のため、
記事を取得するAPIを叩く
https://qiita.com/Naoto9282/items/252c4b386aeafc0052ba
https://qiita.com/kure/items/0895983c3e05bfdf8377
https://cloudpack.media/43823
検証
自分以外のユーザーの記事
自分以外のユーザーの記事のidを指定する。
/api/v2/items/63af5c4a9ef4c11f2db9
QiitaAPI リファレンス
https://qiita.com/api/v2/docs
curl -H 'Authorization: Bearer access_token' https://qiita.com/api/v2/items/63af5c4a9ef4c11f2db9
レスポンス
{
*** 省略 ***
"coediting"=>false, "comments_count"=>0, "created_at"=>"2019-12-28T17:42:33+09:00", "group"=>nil, "id"=>"63af5c4a9ef4c11f2db9", "likes_count"=>0, "private"=>false, "reactions_count"=>0, "tags"=>[{"name"=>"ポエム", "versions"=>[]}, {"name"=>"個人開発", "versions"=>[]}], "title"=>"「あーなんかサービス作りてぇ!」と思ったあなたへ", "updated_at"=>"2019-12-28T17:42:33+09:00", "url"=>"https://qiita.com/Kouch/items/63af5c4a9ef4c11f2db9", "user"=>{"description"=>"", "facebook_id"=>"", "followees_count"=>7, "followers_count"=>16, "github_login_name"=>"Kouch-Sato", "id"=>"Kouch", "items_count"=>18, "linkedin_id"=>"", "location"=>"Tokyo Japan", "name"=>"Kouch Sato", "organization"=>"TravelBook inc", "permanent_id"=>209138, "profile_image_url"=>"https://qiita-image-store.s3.amazonaws.com/0/209138/profile-images/1520245340", "team_only"=>false, "twitter_screen_name"=>nil, "website_url"=>""},
"page_views_count"=>nil # <===== nilになっている。
}
自分の個別記事を取得
/api/v2/items/ad99a5c05f5f2c5690ab
curl -H 'Authorization: Bearer access_token' https://qiita.com/api/v2/items/ad99a5c05f5f2c5690ab
レスポンス
{"rendered_body":"\u003cp\u003eVue.jsで、keyupイベントでinputエリアに文字列を入力する度に検索をかける機能を実装。\u003c/p\u003e\n\n\u003cp\u003eが、スマホで日本語を確定入力した時に、動作しないことが発覚。\u003c/p\u003e\n\n\u003cp\u003e調査すると、\u003cstrong\u003ekeyupイベント\u003c/strong\u003e が動いていないことが原因。\u003c/p\u003e\n\n\u003cp\u003e\u003cstrong\u003einputイベント\u003c/strong\u003e に変更することで対応出来ました。\u003c/p\u003e\n\n\u003cp\u003e以下の記事を参考にさせて頂きました。\u003c/p\u003e\n\n\u003cp\u003e1\u003cbr\u003e\nkeydown,keypress,keyup,inputについての補習\u003cbr\u003e\n\u003ca href=\"https://blog.3qe.us/entry/2017/08/05/215941\" class=\"autolink\" rel=\"nofollow noopener\" target=\"_blank\"\u003ehttps://blog.3qe.us/entry/2017/08/05/215941\u003c/a\u003e\u003c/p\u003e\n\n\u003cblockquote\u003e\n\u003cp\u003eまたは,の値(value属性)が変化したときに発火する\u003c/p\u003e\n\u003c/blockquote\u003e\n\n\u003cp\u003e2\u003cbr\u003e\nVueの基本イベント全17実例!\u003cbr\u003e\n\u003ca href=\"https://blog.capilano-fw.com/?p=2787\" class=\"autolink\" rel=\"nofollow noopener\" target=\"_blank\"\u003ehttps://blog.capilano-fw.com/?p=2787\u003c/a\u003e\u003c/p\u003e\n","body":"Vue.jsで、keyupイベントでinputエリアに文字列を入力する度に検索をかける機能を実装。\n\nが、スマホで日本語を確定入力した時に、動作しないことが発覚。\n\n調査すると、**keyupイベント** が動いていないことが原因。\n\n**inputイベント** に変更することで対応出来ました。\n\n以下の記事を参考にさせて頂きました。\n\n1\nkeydown,keypress,keyup,inputについての補習\nhttps://blog.3qe.us/entry/2017/08/05/215941\n\n\u003e \u003cinput\u003eまたは\u003cselect\u003e,\u003ctextarea\u003eの値(value属性)が変化したときに発火する\n\n2\nVueの基本イベント全17実例!\nhttps://blog.capilano-fw.com/?p=2787\n\n","coediting":false,"comments_count":0,"created_at":"2019-12-26T23:26:07+09:00","group":null,"id":"ad99a5c05f5f2c5690ab","likes_count":0,"private":false,"reactions_count":0,"tags":[{"name":"input","versions":[]},{"name":"Vue.js","versions":[]}],"title":"【Vue.js】スマホで日本語入力時、keyupイベントが動作しない","updated_at":"2019-12-26T23:26:07+09:00","url":"https://qiita.com/mah666hhh/items/ad99a5c05f5f2c5690ab","user":{"description":null,"facebook_id":null,"followees_count":8,"followers_count":11,"github_login_name":null,"id":"mah666hhh","items_count":91,"linkedin_id":null,"location":null,"name":"","organization":null,"permanent_id":287122,"profile_image_url":"https://lh6.googleusercontent.com/-rDAQyOjXoQ4/AAAAAAAAAAI/AAAAAAAAAC4/hcgJSxH29qU/photo.jpg?sz=50","team_only":false,"twitter_screen_name":null,"website_url":null},
"page_views_count":142 # <<<<<==== 取れている。
}
利用制限について
認証している状態ではユーザごとに1時間に1000回まで、認証していない状態ではIPアドレスごとに1時間に60回までリクエストを受け付けます。
https://qiita.com/api/v2/docs#%E5%88%A9%E7%94%A8%E5%88%B6%E9%99%90
もし一定数以上のリクエストを送信すると、
Rate limit exceeded