見出し画像

noteでファイルのダウンロード件数を数える

この下の記事を書く際に,どのくらいファイルが表示されたかを数えたいと思いました。

LMS一覧の記事の最下部にファイルへのアクセスボタンを設置していますが,
クリックした数を数える工夫をしてますので,その方法を覚書として下記を記載しておきます。

参考にさせていただいたのはこの記事

この記事ではiframeをサイトに埋め込まないといけないのですが
noteではiframeを埋め込むことができません。

なので,以下のようにしました。

1.ダウンロードしてもらいたいファイルをどこかクラウドなどに置く

DropboxやGoogleドライブなどに置くとよいでしょう。
ファイルへのURLがわかれば良いです。

2.Googleフォームで,カウント用フォームをつくる

人には見せないページなので,どういう感じでもいいんですが
自分の管理しやすいよう,わかりやすい名前をつけておくと良いと思います。
Downloadという質問を作っておきます。

「回答」タブをクリックして,スプレッドシートのアイコンをクリックし,スプレッドシートを作成しておきます。

画面右上の「送信」ボタンをクリックして,リンクのアイコンをクリックします。

リンクの中の1FAIpQLSess2sutzqLjhaFuxa52SYodKDqiK365INezI76i5r6GpHbIg
みたいなところをメモっておきます。・・・①

リンク先にアクセスして,回答ページを開きます。ページのソースを見てください。
ソース内で「Download」の文字検索をします。
「Download」の右に数桁の数字が書かれている箇所が見つかると思いますので,その数字をメモしておきます。・・・②

この赤いところ

3.PHPを書く

メモ帳のようなエディタを開いて,以下を記述します。

<?php
exec("curl -s -X POST -d 'entry.②の数字=ファイル名' https://docs.google.com/forms/d/e/①の文字列/formResponse > /dev/null");
Header("Location: ファイルへのURL");

太字のところを書き換えて,保存します。
ファイル名は今回集計したい対象のファイル名を書きます.
lms.xlsx  のように拡張子までちゃんと書いてください。
メモ帳の名前を「download.php」のようにします。

4.PHPファイルをWebサーバに置く

3で作ったPHPファイルを自分の管理しているWebサーバ上に置きます。
PHPが動くサーバに置いてくださいね。

そのPHPファイルへのリンク名をメモっておきます。
https://honyahonya.com/download.php
みたいな感じ。

5.noteの記事内にダウンロードボタン画像を置く

適当な画像をnoteの記事内に貼ります。
画像をクリックすると出てくるリンクボタンをクリックします。

するとURLを入力できるので,4のPHPのリンクを貼り,「適用」をクリック

6.できた! ことを確認する

自分で何回かクリックしてみてから,
2で作成したGoogleフォームの画面を開いてみましょう。
画像のように,回答のところにクリック件数が出ます。

スプレッドシートの方を開くと,こういう感じでタイムスタンプもとれています。

以上のようになっていれば,完成です!


以下はやりたい方だけどうぞ。

7.せっかくなのでグラフにしてみる

この記事のヘッダ画像になっているようなクリック数を可視化するグラフを自動で作成します。

スプレッドシートのC2のセルに,以下の数式を入れます。
=ARRAYFORMULA(ROW(A2:A)-1)
するとC列の最終行まで1から順に数字が入ります。
C列トップに「count」とか名前を入力しておきます。

A列からC列を選択して,「挿入」→「グラフ」→「散布図」で散布図を作成します。
設定でX軸を「タイムスタンプ」,系列を「count」にします。
データ範囲は,データが増えたら自動で変わります。

横軸の間隔などを設定したい場合は,カスタマイズタブの「グリッドラインと目盛」でお好みの感じにされると良いと思います。

こんな感じで表示されます。グラフは自動で更新されます。

グラフが表示されたら,グラフ右上の点3つをクリックし,
「ダウンロード」を選択すると,好きな形式(png, pdf, svg)でグラフ画像をダウンロードできます。



以下,参考までに

自分が管理してるWebサーバなんかねーよ!とおっしゃる方は
DropboxかGoogleドライブでWebページを作成してみてはいかがでしょう。

1.メモ帳などのエディタで以下の記述をし,保存します。

<p>下のボタンからどうぞ。</p>
<iframe id=download_iframe name=download_iframe onload='if(downloading){window.location="ファイルのリンク先";}' style=display:none></iframe> <form action=①の文字列/formResponse method=post onsubmit="downloading=!0" target=download_iframe> <input name="entry.②の数字" value="ファイル名" type="hidden"> <input type="submit" value="ダウンロード"> </form>

2.メモ帳のファイル名をdownload.htmlとかに変えて保存します。

3.DropboxかGoogleドライブに置いて,公開します。

4.上記の5の手順で,htmlファイルへのリンクを画像に貼ります。

ユーザは,記事内のダウンロードボタンをクリックすると,上記のhtmlページにとんで,そこでまたダウンロードボタンを押します。
二度手間感ありますけど,仕方ないですね。

5.上記の6のようにちゃんと動作しているか,確認してください。

この参考のとこの方法は動作検証してないので,うまくできなかったらごめんなさい(^^;)


この記事が気に入ったらサポートをしてみませんか?