タグ

GASに関するkoma_gのブックマーク (28)

  • ぼくのかんがえたさいきょうのGAS開発手法2023

    前提clasp の制約、Script API の考え方、Google Drive の考え方に素直に従うその条件下である程度モダンな開発環境での開発を目指す 可能ならコードは VCS で管理する(pull-req など)ドキュメントベースで共同作業に向いた手法で開発を進める特にカジュアルに始めやすい Google Apps Script は悪い意味での属人化まっしぐらになりやすい。これが長期間の業務に影響しないような、ワンショットのものなら別にそれでもよいが、これが誰かに引き継がなければいけないような状況が生まれると一気に地獄みが増してしまうので、そうなってしまう前により良い開発手法を考えておきたい。 考慮したことGAS は素朴に作ると Script 体の構造がそれを利用する container (例えば Spreadsheet)のデータ構造などと密結合になってしまう。この状態のままコード

    koma_g
    koma_g 2023/08/24
  • GASをGit管理するならGithubアシスタントとclaspどっちを使うか?

    はじめに Google Apps Script(GAS)をGit管理できると知って調べたところ、Google Apps Script Githubアシスタントとclaspという2ツールが有名なようだったので、それぞれ試した感想や遭遇したハプニングなどをまとめてみました。 この記事が参考になるかもしれない人 これからGASをGit管理しようと思っている人 試したツール 各ツールの説明や導入方法は割愛します。 Google Apps Script GitHubアシスタント clasp Google Apps Script Githubアシスタント Chrome拡張なので導入は一瞬、Github連携もすんなりOKでした。使い方は簡単で、GASエディタ上でリモートリポジトリを選んでブランチを指定してPush,Pullするだけです。GASエディタ上で操作が行えるのは手軽で良さそうです。 ここで、Gi

    GASをGit管理するならGithubアシスタントとclaspどっちを使うか?
    koma_g
    koma_g 2022/10/26
  • 本のバーコードを読み取ってNotionで読書録を作成するアプリを作ってみた - Qiita

    はじめに はじめまして。インディーゲームを作っております、nyorokoと申します。 ゲームづくりの他に読書が好きで、「読書録を簡単に作成・管理することはできないか?」という問題意識があり、タイトルの通りのアプリを作ってみました。 2022/5/23 思ったよりも反響があったため、加筆した第二弾を公開しました! 完成したもの 以前Notion APIを用いて、 のバーコードを読み取る →ISBNを取得する →ISBNからの情報を取得する →Notionのデータベースに追加する という一連の動作を行うアプリを開発しました💪🏾(´・_・`💪🏾) pic.twitter.com/GqPBPV7sin — nyoroko (@nyoroko_nyoro) February 21, 2022 Notionとは? Notion公式サイト Notionとは、タスク管理やメモ等を一元的に行うこ

    本のバーコードを読み取ってNotionで読書録を作成するアプリを作ってみた - Qiita
  • GAS用のCLIツール clasp を使ってGASをローカルで開発して実行するの巻。 - Qiita

    claspを使ってローカルでGASを書く 基的にGASの開発はブラウザで行う必要があります。 これは面倒ですね。 単純なプログラムであればブラウザでも十分ですが、ある程度複雑な開発になるとこんな不満が出そうです。 Gitでのバージョン管理がしたい 使い慣れたエディタで開発したい この不満を解消するべくGoogleが開発したのが google/claspです。 clasp はローカルで書いたコードをGitHub感覚でpush、オンラインからpullできるCLIツールです。 今回はこのclaspを使ってローカルでGASの開発、一歩踏み込んでデバッグまでできるようにしてみます。 ついでにローカルではTypeScriptを使うことにします。 ローカル環境で快適なGAS開発を行う手順 GAS API の設定をオンにする はじめにG Suite ユーザー設定画面からGoogle Apps Scrip

    GAS用のCLIツール clasp を使ってGASをローカルで開発して実行するの巻。 - Qiita
  • 2021年における個人に依存しないGoogle Apps Script(GAS)運用の話 - やる気 ない日記

    これはなに 2021年における個人に依存しないGoogle Apps Script(GAS)運用の話 会社やチームなどでGASを使う場合に、可能な限りGASの管理を個人に依存しない運用方法を雑に書いておきます GASのコード管理をどうするか? 書いたGASはすべてGitで管理する GitHubなどのGitのホスティングサービスを利用して、書いたGASを共有する(必要な場合 誰でも変更できるようにする) GASをどうやって書くか? ローカルの好きなエディタで書く ローカルで書いたGASをどうやってデプロイするかは、この後出てくるclaspを使う GASのサイト上で編集すると、Gitとの差分がめちゃくちゃになるのでローカルで書くのがおすすめ デバッグ・ちょっとした動作確認など 書いたコードが消えても問題ない場合は、GASのサイト上で編集して動かすのは許容 GASのデプロイをどうするか? cla

    2021年における個人に依存しないGoogle Apps Script(GAS)運用の話 - やる気 ない日記
  • Nuxt.js × GAS Execution API で同人頒布会向け予約システムをごにょごにょする PWA を作る - Qiita

    はじめに 「GASでQRコードを使った同人頒布会向け予約システムを作った話」の続きです。 半年ほど前、日最大級のアナログゲーム頒布会である「ゲームマーケット2018春」で、上記の予約システムを実際に運用してみたところ、 (こちらからの声かけ後を含め)QRコードを提示してくれたのは6割弱 0.5割くらいの人がガラケーないしキャリアメールのため、QRコード自体を受信できていない という問題にぶち当たりました。 QR コードが提示されなかった場合、スマホの Google スプレッドシートアプリから予約番号 or 名前を検索していましたが、いまいち操作性がよろしくない1。 というわけで、いっそスプレッドシートを外部 API 化して、スマホアプリから予約情報の検索&購入確定できるようにして、なんならアプリに QR コード読み取り機能も埋め込んじゃおう、というのが今回の趣旨です。 PWA (Prog

    Nuxt.js × GAS Execution API で同人頒布会向け予約システムをごにょごにょする PWA を作る - Qiita
  • Google Apps Script は何が強くてどんなときに使うべきかプラクティスをまとめてみた

    はじめにGoogle Apps Script は無料で色んなことが実現できるため、ついつい「全て GAS でやっちゃおう」みたいな話になりがちです。Google Apps Script も万能ではないので、強み・弱みを理解した上で他の選択肢と比較して使うのをお勧めします。 Google Apps Script のプロジェクトを 2–30 個作ってきた中で、自分なりのプラクティスをまとめてみます。 この内容は Cloud Next ’18 in Tokyo で登壇したときの内容を含んでいます。この登壇から半年以上経ったのでアップデート部分も以下にまとめています。 Google Apps Script の強み・弱みまず、強みと弱みについてまとめてみます。 強み 1. Google Apps の API を簡単に呼び出すことができる一番の強みはこれだと思います。Google Apps Scrip

    Google Apps Script は何が強くてどんなときに使うべきかプラクティスをまとめてみた
  • マーケターがredash&スプレッドシートでKPI管理してみた - SMARTCAMP Engineer Blog

    スマートキャンプでマーケターをしている佐々木です。 最近は自販機でペットボトルを購入することにハマっています。 私は弊社の運営する資料請求サイト「ボクシル」のマッチング最適化を生業として生きているのですが、追うべきKPI・可視化したデータの共有にはスプレッドシートを好んで使っています。 SQLで取り出したデータであればRe:dashで共有するのがライトなのですが、 SQLでとってきたもの以外のデータを上手く組み合わせられない 様々なアレルギー反応を起こす人がいる(英語UIがダメな人、クエリ見ると卒倒しちゃう人etc...) 権限管理が大変 などダッシュボードとして利用していくにあたって、特に非エンジニアに浸透しづらいというのがあります。 そこでスプレッドシートをダッシュボードとして活用していく方法を紹介したいと思います。 概要 ツールごとの役割分担 使った技術 流れ 全体 1. Re:da

    マーケターがredash&スプレッドシートでKPI管理してみた - SMARTCAMP Engineer Blog
  • [GAS/Twilio]広瀬すずさんがSlackのリマインダー機能でモーニングコールしてくれるサービス - Qiita

    概要 Slackのリマインダー機能を使って、美少女botにモーニングコールを依頼できるサービスです。「朝起きれないのは、美少女が起こしてくれないせいである!!」という仮説を検証するために作りました。簡単にモーニングコールの音源が見つかったので、今回は広瀬すずさんに抜擢させていただきました。ありがとうございます。 アーキテクチャ リマインドされた際の文言( リマインダー: )をトリガーに、SlackのOutgoing WebhooksでGASに繋いでいます。そこからTwilioのAPIを叩き、僕のiPhoneに電話してくれるという流れです。Twilioは音声通話、メッセージング(SMS/チャット)、ビデオなどの様々なコミュニケーション手段をアプリケーションやビジネスへ容易に組み込むことのできるクラウドAPIサービスです。つまり、リマインダー機能を利用しているのでアラームのように時間設定するこ

    [GAS/Twilio]広瀬すずさんがSlackのリマインダー機能でモーニングコールしてくれるサービス - Qiita
  • GASだと複雑すぎる処理はAPIにしてみよう

    Googleのスプレッドシートには、Google Apps Script(GAS)というExcelのマクロ(正確にはVBA)のような機能があります。ちょっとした処理を自動化したり、自前の関数を作成したりと便利な一方、下記のような点で不便を感じることもあります。 プログラミング言語がJavaScriptに限定される基的にWEBエディタ上でのプログラミングとなるモジュールのライブラリ化が難しい構成管理ができない(しようとすると工夫が必要)そこで今回は、複雑な処理をAPIとして記述し、GASからはそのAPIを呼び出すだけというシンプルな構成で、インタラクティブな機能をスプレッドシートに提供するということに取り組みたいと思います。 サンプルアプリケーション今回作成するのは、下記のフォーマットのスプレッドシートにおいて、「Mail Address」欄に不正な入力をされた際に、エラーダイアログを表示

    GASだと複雑すぎる処理はAPIにしてみよう
    koma_g
    koma_g 2019/05/06
  • Google Apps ScriptとMicrosoft Graph APIの連携 – Teams投稿編【GAS】 🌴 officeの杜 🥥

    Slack用にMicrosoftMicrosoft365に用意してきたチャットツールとして、Microsoft Teamsがあります。Googleで言えばHangout Chatがそれになります。このTeamsにエントリー投稿しかまだ出来ないのですが、Google Apps Scriptから投稿する事が可能です。Graph APIでも可能なのですが、TeamsにはWebookという便利な機能があるので、今回これを使ってみます。 Incoming Webhookへ送りつけるケースは通常のPOSTで送りつけるだけで送信出来ます。より詳細なコントロールをする場合は、Graph APIを使って認証を行った上でAPIリクエストが必要です。今回はこの両方について作成します。 ※2018年7月12日より、Microsoft365ユーザ以外も無償版としてTeamsが使えるようになっています。サインアッ

    Google Apps ScriptとMicrosoft Graph APIの連携 – Teams投稿編【GAS】 🌴 officeの杜 🥥
  • 【GAS】Google Apps Script を 使ってみよう その6 スクレイピング用ライブラリ追加【お勉強】

    いよいよスクレイピングに向けての実践モードといった感じになってきたわけですが、前にも書いたように普通のDOM操作みたいなことは出来ないのが難点。 色々と調べていくとxmlのものや正規表現をつかって該当する部分を取り出すみたいなものが多くヒットしてきます。 でも、それだとなかなか応用をきかすのが難しいというか、それ専用の技みたいな感じになってしまって…あと、正規表現って使いだせば思い出してくるんですが普段はサッパリでして(;´・ω・) 何かいいものがないかなと検索をしていたら、よさげなページにヒット。 簡単データスクレイピング? 「イージーデータスクレイピング ウィズ GAS イン 5ミニッツ」 素敵な響きじゃないですか! ちなみに翻訳してみると… 「私は、ウェブからデータを抜き取り、HTMLソースコードから正確な値を解析するという栗菓子の仕様事例があることを発見しました。(中略)5分でデー

    【GAS】Google Apps Script を 使ってみよう その6 スクレイピング用ライブラリ追加【お勉強】
  • Google Apps Scriptで100以上の便利関数が使える定番ライブラリUnderscore for GAS

    Google Apps Scriptでスプレッドシートのデータを配列に格納して操作をする方法をお伝えしています。今回は配列を検索するindexOfメソッド、lastIndexOfメソッドの使い方です。 indexOfメソッド、lastIndexOfメソッドを使って、配列内の検索をする方法をお伝えしました。 さて、これまでお伝えしてきた pushメソッド spliceメソッド indexOfメソッド/lastIndexOfメソッド など、GASには配列を扱う便利なメソッドがたくさん用意されていますが、より便利な機能を簡単に使いたい!…と思ったときには、どうすれば良いですか? そんなときには、ライブラリUnderscore for Google Apps Scriptという素敵なものがあるんです。 これまでお伝えしてきた通り、スプレッドシートのデータは配列で扱いたいことが多いですから、使いこな

    Google Apps Scriptで100以上の便利関数が使える定番ライブラリUnderscore for GAS
  • 【初心者向けGAS】面倒なことはライブラリに任せよう!その概要と追加の方法

    それで、チャットワークにBot通知をする、つまりメッセージを送るのであれば、POSTというメソッドで、payloadにメッセージの文を、あとheaderにチャットワークのAPIトークンを乗っけて送ればOK! それらを、fetchメソッドの引数のパラメータにオブジェクト形式で与えればOK! …って、ちょっと難しそうですよね。 そんな時のために、先人がライブラリというのを用意してくださっているんですね。 ライブラリを使うことで、超簡単にチャットワークにメッセージを送ることができるようになります。 ライブラリとは何か GASでは、作成した関数を他のプロジェクトから利用できる仕組みが用意されていて、それをライブラリと言います。 ライブラリは、別のアカウントからでも利用することができますので、どなたかが公開してくださっていれば、それを利用させてもらうことができるというわけです。 もちろん、自作する

    【初心者向けGAS】面倒なことはライブラリに任せよう!その概要と追加の方法
  • GAS ビギナーが GAS を使いこなすために知るべきこと 10 選 - Qiita

    はじめに Google Apps Script (GAS) は Web ブラウザ上の JavaScript とも Node.js とも環境が異なります。その違いや、 GAS 特有の機能を理解するとさらに開発が捗るので、それらをこの記事で紹介しようと思います。 Tokyo GAS で 5 分 LT した内容です。 スライドはこちら > GAS ビギナーが GAS を使いこな すために知るべきこと 10 選 ※より網羅的で最新の情報を得たい方は DevFest 2020 の登壇動画 Google Apps Script 入門 2020 をご覧ください。 1. ローカル環境で開発する GAS を好きなエディタで開発したり、ローカルで開発したものを github に上げたりしたくなる。 Google ブログの記事 Apps Script による高度な開発プロセス で紹介されているが、 node-g

    GAS ビギナーが GAS を使いこなすために知るべきこと 10 選 - Qiita
    koma_g
    koma_g 2019/05/06
  • Googleカレンダーから翌週の空き時間を計算してスプリントの見積もり精度を向上する - Sansan Tech Blog

    Sansan事業部プロダクト開発部の加藤です。関西支店のチームMAIDOに所属しています。 チームMAIDOでは、月曜~金曜の1週間スプリントを採用しており、毎週金曜日に翌週のプランニングを行います。 プランニングでは、そのスプリントでやるストーリーをタスクに分解し、それぞれのタスクの時間見積もりを行います。そして、タスクの見積もり時間の合計が翌週使える時間に収まっていることを確認します。 時間見積もりをやり始めたばかりの頃は、およそ1日1人5時間で計算して使える時間を割り出していました。しかし実際にスプリントを始めてみると、会議の時間を計算に入れ忘れていたりして、思ったより時間が足りないということがありました。 カレンダーを見て会議の時間だけ引き算してもいいのですが、意外と手間で、ざっくり計算すると実際に作業可能な時間よりも長く見積もったりしてしまいます。面倒なことは自動化したいので、G

    Googleカレンダーから翌週の空き時間を計算してスプリントの見積もり精度を向上する - Sansan Tech Blog
  • Google Apps Scriptの新しい3つの機能 その① Dashboard - Qiita

    最近はGASの記事をあんまり書いてない大橋です。 2018/1/11にGoogle Apps Scriptに新しい3つの機能が追加されました。 https://gsuite-developers.googleblog.com/2018/01/three-new-tools-to-help-improve-your.html?m=1 もうこの機能が、歴戦のGAS Userたちにとって素晴らしいものばかりで、ぜひ紹介したいと思います。 新機能 Dashboard (この記事です) Apps Script API CLI Tool clasp 一つ一つが結構しっかりした機能なので記事を分けて説明したいと思います。 まずは1つめのDashboardから 新しいGoogle App Script Dashbaord Google Apps Scriptの作成者・管理者向けに新しいApps Scrip

    Google Apps Scriptの新しい3つの機能 その① Dashboard - Qiita
  • Google Apps Scriptの新しい3つの機能 その③ CLI Tool Clasp - Qiita

    この記事は2018/1/11にGoogle Apps Scriptに新しく追加された3機能の紹介記事の3番目です。 https://gsuite-developers.googleblog.com/2018/01/three-new-tools-to-help-improve-your.html?m=1 新機能 Dashboard Apps Script API CLI Tool clasp (この記事です) 一つ一つが結構しっかりした機能なので記事を分けて説明したいと思います。 今回は3つ目のCLI Tool claspです。 CLI Tool clasp claspはオープンソースのGAS向けCLIツールです。 https://github.com/google/clasp CLI上からGASプロジェクトに対して以下の様なことが行なえます。 GASプロジェクトの新規作成 GASプロジェ

    Google Apps Scriptの新しい3つの機能 その③ CLI Tool Clasp - Qiita
  • claspを使い、Google Apps Scriptプロジェクトをgitでバージョン管理する - Qiita

    はじめに Google Apps Script、活用していますか? 筆者は業務でそこそこ活用しており、その経験も踏まえて先月はアドベントカレンダーを書いたりしていました。 Google Apps Scriptを実例交えて基礎からざっくり学ぶ Advent Calendar 2017 ただ、業務で使っていると困ることがあります。 ソースコードが全てGoogleドライブ上で管理されている(誤削除怖い。gitでバージョン管理したい) クラウド上のScriptEditorより、お気に入りエディタで開発したい その長年の悩みが、Google公式のCLIツール「clasp」が登場したことにより少し改善しそうです。 まぁ今までもプラグイン等を使えば解決できたのですが、徐々にGASプロジェクトが肥大化するにつれてバージョン管理しないとなーと思っていた矢先、Google先生がリリースしてくれたのでこれを期に

    claspを使い、Google Apps Scriptプロジェクトをgitでバージョン管理する - Qiita
  • プログラム自動実行で仕事を楽に! APIでSlackなどと連携できる「Google Apps Script」とは

    GoogleアカウントはG Suiteのメンバーはもちろん、無料の「Googleアカウント」でも問題ありません。つまり、GASは無料で利用できます。Webブラウザは、一般的なものであれば動作します。またPCWindowsMacどちらでも問題ありません。 スクリプトエディタを起動する GASのプログラムには2種類あります。Googleドライブに直接プログラムファイル自体を保存する「スタンドアロン型」と、スプレッドシートなど他のアプリケーションのファイルにひも付いてプログラムを保存する「コンテナバインド型」です。この2つは、作成および保存の方法と一部の機能を除けば、同じように動作します。 今回は例として、スプレッドシートにひも付くコンテナバインド型のプログラムを作成していきます。ブラウザで対象となるスプレッドシートを開き、メニューから「ツール」→「スクリプトエディタ」を選択します(図1)。

    プログラム自動実行で仕事を楽に! APIでSlackなどと連携できる「Google Apps Script」とは
    koma_g
    koma_g 2019/05/06