「とりあえずGoogleAppsScriptを軽く知りたい」
「効率化でGASが良いって聞いたけど、まずは軽く見たい」
この記事はそんな方へ向けて書いています。
自己紹介させていただきますと、私はこのサイト(SNSデイズ)やYouTubeで食っています。商売が好きです。
それぞれパートナーが一人ずついるんですが、基本的に調査分析やらは自分がしています。
私はプログラマ・エンジニアではないですが、他サイト・チャンネルの調査やその他の仕事でスプレッドシートを使うことがよくありました。
そのたびに、ちょいちょいGASってやつを使ってみて、かなり時間的な恩恵を受けています。
その都度調べているのですが、プログラマ・エンジニア系の人たちが書いた記事を読む力が私にはありません!!!
なので、同じように困っている人の課題を解決すべく、記事にしてみました。
GoogleAppsScriptとは?
GoogleAppsScript(以下GAS)とは、GoogleのスプレッドシートやDocsを効率化してくれるツールです。
IT系の人たちから言わせるとサーバーサイド系のJS、だそうです。(JS=JavaScript)
とりあえずやって温度感を知ってほしいので、5分ぐらい付き合ってください。
GoogleAppsScriptの導入
導入と言っても、プログラム初期にありがちな「開発環境ガァ!」「バージョンガァ!」とかないので安心してください。
持ってない方はGoogleアカウントを取得して、Google Driveへ>Googleスプレッドシートを開いてください。
これがスプレッドシートですね。エクセルみたいなやつです。
ツール>スクリプトエディタ
で、GASが開けます。
適当に名前付けてあげてください。
デイズ記事用、って名前にしてみました。
そして、そのまま▶のマークをクリックしてください。
(実行ボタンという名前です。書いた命令を実行してくれるボタンです。)
序盤は、このようなポップアップが表示されます。
これは「このプログラムが何かしらデータにアクセスしようとしてるけど大丈夫?」的な意味です。
「許可を確認」をタップしてみてください。
このようなサーバーエラーが出た場合は、書いてある通りに時間置いてから試してみてください。
このエラーが出たとき、他のプロジェクトやSSを作成してみましたが無理でした。
時間おくしか無さそうです。(10分程度)
このアプリは確認されていません。と出ます。
このまま左下の「詳細」をクリック。
「◯◯(安全ではないページ)に移動」をクリック。
◯◯に次のスコープを許可します、と出るので、「許可」をクリック。
これで実行できるようになりました。
学習管理サービス「GoogleClassroom(グーグルクラスルーム)」の使い方を徹底解説
GASでHelloWorldしてみる
※謎な点あったらリプライください
これで実行できるので、こうなるようにコピペしてみてください。
※ちなみにfunctionのあとがtest_codeになっていますがシカトして大丈夫です。
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();sheet.getRange(2, 2).setValue("Hello World");
行ごとに軽く解説しますと、
- スプレッドシートを使うよ
- 今アクティブなシートを使うよ
- そいつの2行目2列め、ここにハローワールドって入れるよ
って意味です。(適当)
でもそんなのどうでもいい!だってノンプログラマですから!
で、もう一度実行ボタンを押してみてください。
出ましたハローワールド!
これがGASです。
GASちょこっとできれば、単調作業とか、めんどくさい作業をGASがしてくれます。
※ちなみにGASについては優しい優秀な人たちが日本語でいくつか記事出してくれてます。「GAS ◯◯」と調べてでなかったら「JS ◯◯」と調べましょう。
GASでライブラリを使う
私は何度もプログラムのライブラリやAPI、開発環境といった点でつまずいてきて「プログラムはクソ」という考えに至りましたが、GASだけは失敗しません!
ライブラリというのは、まあ技リストみたいなもので、「誰かが作った技リストを使えるよ」といった感じです。
例えば簡単にウェブサイトのデータ抜いてくるとか。
それではライブラリの入れ方を解説します。
今回は例としてParserってやつを入れてみます。
GASのページでリソース>ライブラリと進んでください。
図書館!!!!!
ライブラリを追加、という文字の横のテキストボックスに以下の文字列を入れて、「追加」ボタンをクリック。
M1lugvAXKKtUxn_vdAG9JZleS6DrsjUUV
この文字列はアレです、技リストの商品コードみたいなものです。
バージョンのところを「7 first init」って選択して、追加ボタンを押してください。
※ライブラリを追加したあとは、また「承認が必要です」とか出ると思います。まあ自己責任で!自分はParserだけは入れていますが毎回承認してます!!!
次はこうなるように、以下のコードを追記してください。
var url = "https://snsdays.com/";
var html = UrlFetchApp.fetch(url).getContentText();
var title = Parser.data(html).from('<title>').to('</title>').build();sheet.getRange(2, 2).setValue(title);
これを簡単に解説しますと
- このURLを使うよ
- URLからHTMLを持ってくるよ
- そのHTMLを分析するよ
- 2行目2列目に分析結果をもってくるよ
といった感じです。
これを実行してみましょう。
このウェブサイトのタイトルを持ってくることができました。
お疲れ!!!!