search
クリプト

カスタム ALISランキングサイトの作り方(1)

はるか先生's icon'
  • はるか先生
  • 2018/11/16 11:31
Content image


Google Apps ScriptというGoogleが無償で提供している機能を利用してALISのコメント数をベースとしたランキングサイトを運営しています。


作ったあとは放置状態で自動運転しています。こちらです。いちどどんなものか見てみてください。

今回の講座をとおして完成するものをイメージできます。こんなサイトを作ってみたくないですか?一回できたら自分の好きなように改造すれば好きなランキングサイトが無料で作れます。


Content image

Googleといえば世界トップのIT企業でサーバーの安定性やセキュリティには安心感があります。そんな会社のサーバーを無料で好きに使えるのはとても素敵なことです。

このサイトの作成が実はとても簡単です。流石にプログラミングゼロでは厳しいですが、なんでもいいので一個でもプログラム作ったことがある方ならこれから紹介するやり方真似っこすればきっと作れるようになります。


では始めましょう。

なぜ Google Apps Scriptを選んだか?

実は今回のこのシステムを作る時無償で使えるサイトを検討したのですが定期的にデータを取ってくるということが難しく悩んでいました。僕としては1−3時間ごとにデーターを取り込んで、データーを蓄積しておきたかったのです。

もちろん、Unixでサーバーちょいちょい少しお金出せばもちろん可能なのですが今回は無料でいけないかと思った次第

Webベースのシステムを作る時にユーザーがリクエストしたタイミングで毎回ALISにコンタクトしていてはページの表示に時間がかかってしまいます。

データの取り込みとユーザーへのページ表示は非同期にしておきたい。

そんな希望を無料で簡単に叶えてくれる機能がGoogle Apps Scriptにはそなえられていたのです。意外と他の無料で使えるサイトにはないのですよね。


Google Apps Scriptを使う

Google APp Scriptを使うために必要なのはGoogleのIDだけ。そして今回のシステムはデータベースの代わりにスプレッドシートというエクセルみたいなものを使用します。

では手を動かしましょうか?


まずは Google SpreadSheetのページにいきましょう

下記のリンクをクリックしてください。googleにログインしていない場合はログインしてください。


新しいスプレッドシートを作成。空白と書いてある大きなボタンを押してください。

これで新しいシート作成されました。こ作成されたシートのアドレスの末尾の文字列をメモしておいてください。実際にはxxxxxxxxxxではなく乱数ぽい文字列になっています

https://docs.google.com/spreadsheets/d/xxxxxxxxxxxxxxxxxxxxxxxxxxxx/edit#gid=0


スクリプトエディターの起動

早速取り掛かりましょう。ツール→スクリプトエディターを選択

Content image


これでスクリプトエディターが開きます

Content image


コードを書こう

ALISサイトからデーターを取ってくる。

function getAlisPopularArticle(){

var response

=UrlFetchApp.fetch("https://alis.to/api/articles/popular?limit=100&page=1").getContentText();

var results = JSON.parse(response);

Logger.log(results);

}  

このコードを早速ページに記載しよう。上のメニューにある4つ目のフロッピーディスクのマークを押して保存してください。


Content image

保存ができたら右から2番目の三角の再生ボタンを押してください


Content image


これが終わったら 表示→ログを押してください


Content image

下記のようにALISの記事のタイトルが含まれる文字がでてきたらあなたのプログラムは成功です。あなたは Google Apps Scriptの機能を用いてALISのAPIを叩いてデーターを取得できたのです。


Content image


コードの解説

Google Apps Script(GAS)はJava Scriptの書式を採用しています。関数は{}で囲んだ中に関数の動作を記載します。それぞれの式の最後は;にて閉じます。これを最低限覚えておいてください。


function getAlisPopularArticle(){

function にてgetAlisPopilarArticleという名前で関数の作成宣言をします。


var response = UrlFetchApp.fetch("https://alis.to/api/articles/popular?limit=100&page=1").getContentText();

var を使い変数の宣言をしています。作った直後にデータを入力していますね。

UrlFetchApp.fetch("xxxx").getContentText()

この関数を用いてAPIが備えられたWebに問い合わせその応答をリターンとして得ます。今回はその結果をresponseに入れています


var results = JSON.parse(response);

取得したデータはJSON形式で作成されています。使いやすいようにJavaScriptのオブジェクトにしています。その結果はresultsに格納しています。


Logger.log(results);
}  

最後に Logger.log();関数は、変数の内容をログ出力させています。最後の } で関数を閉じています。


続きはこちらです



公開日:2018/11/16
獲得ALIS:65.22
Article registration Article registration
はるか先生's icon'
  • はるか先生
  • @haruka
ブロックチェーンの技術ビジネス/dAppsとProtocol周りが得意/ブロックチェーンの技術関連の寄稿

投稿者の人気記事
コメントする
Loading...
コメントする
こちらもおすすめ!
Eye catch
クリプト

【DeFi】複利でトークンを運用してくれるサイト

KTAG 2021/02/22
Like token Tip token
54.01 ALIS
Eye catch
クリプト

【第8回】あの仮想通貨はいま「テレグラム-TON/Gram」

Taka 2021/07/24
Like token Tip token
69.90 ALIS
Eye catch
クリプト

UNISWAPでALISをETHに交換してみた

Macky3216 2020/09/28
Like token Tip token
40.40 ALIS
Eye catch
クリプト

CoinList(コインリスト)の登録方法

Taka 2021/02/25
Like token Tip token
15.55 ALIS
Eye catch
クリプト

ジョークコインとして出発したDogecoin(ドージコイン)の誕生から現在まで。注目される非証券性🐶

昆布森ちゃん 2021/01/19
Like token Tip token
38.31 ALIS
Eye catch
クリプト

NFT解体新書・デジタルデータをNFTで販売するときのすべて【実証実験・共有レポート】

otakucoin 2021/03/29
Like token Tip token
121.79 ALIS
Eye catch
クリプト

コインチェックに上場が決まったEnjin Coin(エンジンコイン)コインを解説

昆布森ちゃん 2021/01/24
Like token Tip token
21.49 ALIS
Eye catch
クリプト

2021年1月以降バイナンスに上場した銘柄を140文字以内でざっくりレビュー(Twitter向け情報まとめ)

昆布森ちゃん 2021/03/16
Like token Tip token
38.10 ALIS
Eye catch
クリプト

17万円のPCでTwitterやってるのはもったいないのでETHマイニングを始めた話

nnppnpp(んぺー) 2021/09/08
Like token Tip token
46.60 ALIS
Eye catch
クリプト

【初心者向け】JPYCを購入して使ってみました!

暗号資産ジョシ校生 蟻巣 2021/06/30
Like token Tip token
30.03 ALIS
Eye catch
クリプト

Polygon(Matic)で、よく使うサイト(DeFi,Dapps)をまとめてみた

ゆうき 2021/05/17
Like token Tip token
236.30 ALIS
Eye catch
クリプト

バイナンスの信用取引(マージン取引)を徹底解説~アカウントの開設方法から証拠金計算例まで~

昆布森ちゃん 2020/06/15
Like token Tip token
3.50 ALIS