はじめに
はじめまして!
今回はインターンにて作成した、 “QiitaのAPIを利用して記事ごとの閲覧数を確認できるシステム” に触れながら、SPIRALの機能についても説明していきたいと思います!
今回の目玉
SPIRALのカスタムプログラムやAPIの機能について知れるかも?!
そもそもSPIRALとは?という方はこちらをcheck
背景
現在、私たちスパイラル株式会社のインターン生はこのアカウントにて記事を投稿しています。
SPIRALについての紹介や、ローコードの魅力、さらにはインターンの学生だからこそ書ける経験談など、、、
そんな中、記事の閲覧数を確認できるシステムを、ローコードプラットフォーム「SPIRAL」にて実装しようとする大きな理由が2つあります。
- 閲覧数は一般ユーザーは見ることができない
- このシステムをベースに発展させやすい
1.閲覧数は一般ユーザーは見ることができない
Qiitaでは作成した記事ページのタグ下部分に投稿日とともに「〇〇views」と閲覧数の情報が載っています。
やはり自分が作った記事、どれくらい見られているか気になります。
しかし、これは@SPIRAL_internshipのアカウントにて確認した画面です。
これを別のユーザーで確認してみると、閲覧数は表示されません。
みながみなログイン権限を持っているとは限らないため、手軽に記事の情報を知る手段が欲しいです。
2.このシステムをベースに発展させやすい
タイトル、いいね数、閲覧数などの情報をSPIRALにて保存できれば、今回は一覧にして表示するだけですが、特定の記事の情報を抜き出したり、ゆくゆくはSPIRAL→Qiitaのような情報のやり取りもできるかもしれません。
以上の理由から、システムを作ってみよう!というわけです。
(これから説明するSPIRALはここからお試しできますよ~)
構築
QiitaのAPIの利用、記事の閲覧数の取得に関してはこれらの記事を参考にさせていただきました!
記事ではPythonを使っていますが、今回はPHPにて実装しています。
ここから
- SPIRAL内でQiita APIを呼び出す
- 呼び出した情報をデータベースに登録する
という2点を達成する必要があります。
SPIRALでPHPを利用するには???
さて、ローコードプラットフォームであるSPIRALでももちろんコーディングを行うことはできます。
しかしながら、フォームのプログラムにPHPを追加すると、フォームを開いたタイミングで実行されることになります。
今回は、“週に一回”閲覧数などの情報を取得することを目的としているため、定期的にPHPが実行されるような状況が好ましいです。
そこで利用するのが 「カスタムプログラム」 という機能です。
この機能の一番のポイントは、 “日付、時間を指定して、任意のタイミングでの定期実行が可能” という点です!
実際に設定したものはこのようになっています。
アプリの画面にて、「開発」タブ>「カスタムプログラム」。
「新規作成」にて、名前などの情報を入力。
「編集」を押して、実行したいスクリプトを入力。
今回はQiitaのAPIを実行するプログラムです。
「定期実行タブ」にて、定期実行のタイミングを指定できます。
画像のように、毎月金曜日の0時15分にPHPが実行されるようになっています。
週に何度か実行させたり、時間も始業のタイミングに合わせたりすることもできちゃいます!
カスタムプログラムからDB登録
カスタムプログラムにてQiita APIを実行する方法はわかりました。
次は、取得した情報をデータベースに登録する必要があります。
通常では登録フォームを作成したり、DB操作画面からレコードの登録が可能ですが、 「SPIRAL API」 を利用することでカスタムプログラム内にて実現可能です!
APIの中の「データ更新または登録」を使います。
記事のURLを更新対象を特定するキーとして、すでに記事の情報が登録されていれば更新、無ければ登録という処理が行われます。
以下のようなプログラムになります!
// SPIRAL.APIを使って、DBに登録
$db = $SPIRAL->getDataBase("main_db");
$response = $db->doUpsert(
"article_url",
array(
"title" => $title,
"article_url" => "https://qiita.com/SPIRAL_internship/items/$item_id",
"view_count" => $views,
"likes_count" => $likes,
"comments_count" => $comments,
"stocks_count" => $stocks,
"date" => $created_date,
)
);
getDataBaseの引数には登録先のDBのタイトルを入れます。
doUpsertの第一引数にはキーとするフィールド名、第二引数には登録する情報のフィールドと内容を入れてください。今回の場合は、
- タイトル
- URL
- 閲覧数
- いいね数
- コメント数
- ストック数
- 投稿日
が含まれます。
これをカスタムプログラム内に追加することで、Qiitaから得た情報をDBに登録することができるようになりました!
さいごに
DBに登録することができたので、ここからフォームや一覧表などいろいろなことに利用できます。
今回は、一覧表に記事の情報を表示するようにしてみました。
一覧表も降順・昇順の並び替えや、データの編集がここからできるようになる機能もありますが、これはまた別の機会で、、、
(知りたい機能や気になることを教えていただけたら、次の記事のテーマになるかも?よければコメントにて)
これによって、“QiitaのAPIを利用して記事ごとの閲覧数を確認できるシステム”は無事に完成しました~
Qiita APIがわかりやすいのはもちろん、SPIRALもローコードだからと言って侮ること勿れ!が少しでも伝わったのではないでしょうか。
「記事の閲覧数気になるんだよなぁ~」と思っているそこのあなた!実際に試してみては???
SPIRALを試してみたい方へ
私がインターンしているスパイラル株式会社は、ローコードプラットフォーム、SPIRAL ver.1のトライアルアカウントを無償提供しています。このアカウントの記事でも紹介するように、たくさんの機能ございます。
▶︎ フォーム
▶︎ 認証エリア
▶︎ ログイン
▶︎ メール送信
▶︎ カスタムプログラム
などの作成できますので、ぜひ試してみてください!!
そして、今チームでトライアル登録者向けに、オンボーディングコンテンツを作成しています。SPIRAL ver.1にご興味のある方、ぜひこちらもご覧ください👇





