LoginSignup
5
0

More than 5 years have passed since last update.

Qiitaに投稿した記事のview数をGoogleスプレッドシートへ記録する

Posted at

やりたかったこと

以前、Googleスプレッドシートに記事一覧を取得出来るようにしたので、view数も取得出来るようにしたい

やりかた

APIでの取得方法

view数は記事一覧APIの返却値には含まれておらず、認証トークンを使用して各記事の詳細を取得するAPI (/api/v2/items/[記事のID]) から値を取得する必要がある。

認証トークンの取得

認証トークンはQiitaにログインして右上の自分のアイコンから「設定」→「アプリケーション」→「新しくトークンを発行する」で取得出来る。

記事の詳細情報取得関数を準備

記事IDを指定して情報を取得する下記のような関数をGoogleAppsScriptで用意する。

function detailReader(id) {
  var apiUrl = "https://qiita.com/api/v2/items";
  var token = "[認証トークン]";

  var headers = {'Authorization' : 'Bearer ' + token};
  var params = {'headers' : headers};

  var detail = UrlFetchApp.fetch(apiUrl + "/" + id, params);
  var jsonDetail = JSON.parse(detail.getContentText());

  return jsonDetail;
}

一覧情報から詳細情報を取得

  var detailKeys = {
    'page_views_count' : "",
  };

  // jsonDataに記事一覧が取得されている
  for (var idx in jsonData) {
      // 記事一覧で取得出来る情報をスプレッドシートに出力
      // ・・・中略・・・

      // 詳細情報の項目をスプレッドシートに出力
      var detail = detailReader(jsonData[idx]["id"]);
      for(var detailKey in detailKeys) {
        sheet.getRange(i, j).setValue(detail[detailKey]);  
        j++;
      }
  }
5
0
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
5
0