タグ

gasに関するopparaのブックマーク (30)

  • SlackでChatGPTによるWebページの要約を頼むコマンドをGoogle Apps Scriptで作る

    B! 0 0 0 0 OpenAIAPIを使って SlackからWebページの要約を頼むコマンドを作ってみました。 やりとりする場所として簡単に無料で使えるGoogle Apps Scriptを使っています。 slack-gpt-url-summary-gas 設定方法 Slack側 GAS側 使い方 改善できそうなところ プロンプト chunkの区切り方 トークン数の計算 要約の要約のやり方 Webページからのテキストの抽出 gpt-4 slack-gpt-url-summary-gas スクリプトは上のレポジトリにあります。 やっていることは Google Apps Script(GAS)でWeb appを作り、そのURLにSlackのSlashコマンドでURLを投げる。 Slashコマンドは3秒以内に返信がないとエラーになるので、一時的な返信を行い、一方でGASの中で別途実行トリガ

    SlackでChatGPTによるWebページの要約を頼むコマンドをGoogle Apps Scriptで作る
  • Google Apps Script (GAS)でHTML解析

    B! 0 0 0 0 Google Apps Scriptで使えるHTMLを解析しようとしたときに調べた ライブラリなどについて。 cheeriojs Parser まとめ cheeriojs Script ID: 1ReeQ6WO8kKNxoaA_O0XEQ589cIrRvEBA9qcWpNqdOP17i47u6N9M5Xh0 Node.jsでjQueryのようにHTMLを扱える cheerio をGoogle Apps Scriptで使えるようにしたもの。 1 2 3 4 5 6 7 8 9 function testCheerio() { const html = UrlFetchApp.fetch("https://example.com").getContentText(); const $ = Cheerio.load(html); Logger.log($('body').t

    Google Apps Script (GAS)でHTML解析
  • Class LanguageApp  |  Apps Script  |  Google for Developers

    // The code below will write "Esta es una prueba" to the log. var spanish = LanguageApp.translate('This is a test', 'en', 'es'); Logger.log(spanish);

    Class LanguageApp  |  Apps Script  |  Google for Developers
  • GAS でも npm のライブラリを使いたい - yKicchan's blog

    GAS で bot 作る時にふと npm に公開されてる便利なライブラリ達を使えたら便利だなと思い至ったのでやってみた話 構成 実行環境: GAS 使用言語: TypeScript ビルドツール: webpack + babel デプロイツール: clasp 今回作ったサンプルはこちら。 説明しないこと GAS + clasp の使い方など基的なところは割愛するので、知らない人は @FruitRiin さんの Google App Script(GAS)をローカルで快適に編集して同期しよう! を参考にどうぞ。 解説 スーパーエンジニアのみなさんは構成で完全に理解した思うが、webpack + babel でビルドしたものを clasp を使って GAS にぶち上げているだけ。 1. プロジェクトの準備 ディレクトリ作成、npm の初期化 $ mkdir MyBot $ cd MyBot

    GAS でも npm のライブラリを使いたい - yKicchan's blog
  • Google Apps ScriptでSlackのプロフィールカードを作る - 詩と創作・思索のひろば

    オンラインで直接顔を突き合わせずに仕事ができるようになったり、会社が大きくなってきたりすると、たまの飲み会で顔を突き合わせてもあれこの人どこの誰だっけ、となることもしばしば。 物理的な会なら名札を配るところ。オンラインでの会なら、バーチャル背景に自分のプロフィールを書いておくのがオススメだけど、わざわざ全員が自分のを作るのは面倒なので自動化する、ということで今回は Google Apps Script で Slack のプロフィールカードを作ることにする。 GitHub - motemen/gas-slack-profile-card-slide-generator 動きはこんな感じ。 Slack Profile Card Generator demo - YouTube GoogleSlack でログインすると、Slack のプロフィールを元に Google スライドを作ってくれる

    Google Apps ScriptでSlackのプロフィールカードを作る - 詩と創作・思索のひろば
  • Google Apps Script(GAS)を使ってSlackをSheetsにバックアップする

    B! 3 0 0 0 Slackが今年の9月から無料プランだと90日より前のメッセージが見れなくなってしまう、ということで 過去のメッセージをバックアップするシステムをGoogle Apps Scriptを使って作りました。 Slackの個人的な使い方 Google Apps Scriptでやる訳 Slack-gas 定期的な実行 Slack-gasのパラメーター設定 TIME_ZONE SAVE_MESSAGE_JSON FULL_CHECK/COVERAGE/CHECK_THREAD_TS_IN_SHEET/THREAD_TS_COVERAGE その他作ってるときに気づいたことやよくわからなかったこと Slack APIのconversations中心への移行 Bot OAuth Token Scopesの削除は出来ない? スレッドの取得 User情報 message情報内のtext

    Google Apps Script(GAS)を使ってSlackをSheetsにバックアップする
  • TypeScriptのユニットテスト環境を構築してみた | DevelopersIO

    はじめに アノテーションの髙嶋です。 私は業務でよくGoogle Apps Script(以降、GAS)を書いています。 ただGASの実行環境で実行できるテスト用フレームワークがなく、関数単位での動作確認がしづらい状態です。 なので、多少でもローカル環境でテストを実施できるようにユニットテスト実行環境を構築したので、その手順を記述します。 ただ、ユニットテストはTypeScriptで書いた状態で実行しています。 そのため、GASの関数部分はモックする必要があり、実行環境での最終的な動作確認は別途必要になります。 なんでテストが必要なの? そもそもなんでテストをする必要があるのか。 よく聞く話かもしれませんが、プログラムは考えたとおりに動くわけではなく、書かれたとおりに動きます。 ですので、プログラムが仕様どおり(考えたとおり)に動作していることを確認するためにはテストの実施が必要です。 テ

    TypeScriptのユニットテスト環境を構築してみた | DevelopersIO
  • Gmailで溜まった未読・既読Star未付与メールマガジンの定期的一括削除スケジュールをGASでやってみた | DevelopersIO

    仕事及びプライベート問わず、気がつくとメールボックスに大量のメールマガジンが溜まっていることはよくあります。未読ながらも目を通すべきかと迷いつつ、数ヶ月はまだしも数年前のものは流石にそのままゴミ箱に入れることも多々。 定期的な掃除をやっていたものの、何か手を動かさずにとも勝手に掃除できる方法はないかと調べた結果、GASで定期的に掃除する手段に至りました。 GASでメールを削除する 今回は以下のドキュメントを参考にしています。 GmailAppで指定条件にて検索し、ヒットしたGmailThreadをまるっと削除します。 function getConfig() { const sheet = SpreadsheetApp.getActiveSheet(); const values = sheet.getDataRange().getValues(); values.reverse() va

    Gmailで溜まった未読・既読Star未付与メールマガジンの定期的一括削除スケジュールをGASでやってみた | DevelopersIO
  • GitHub - airreader/datastudio-2-slack

  • キャンセル待ち戦争から抜きんでよう!Google Apps Scriptを利用してキャンプ場予約サイトからLINEに転送する仕組みを作ってみた | DevelopersIO

    キャンセル待ち戦争から抜きんでよう!Google Apps Scriptを利用してキャンプ場予約サイトからLINEに転送する仕組みを作ってみた データアナリティクス事業部@札幌の佐藤です。 季節も3月となり、北海道は少しずつ春がやってきています。 春が近づき冬季閉鎖中のキャンプ場の予約もちらほらと始まってきており、早速ゴールデンウィークの予約を入れようとしましたが、 さすが他のキャンパーは行動が速く、直近予約できるキャンプ場は予約できず、キャンセル待ちになっていました。 キャンセル待ちをするのはいいのですが、キャンセルが発生したときにいち早く情報をゲットしたい……。 そんなわけで、キャンプ場からの通知をLINEに通知する機能を作成しました。 outputイメージ outputイメージとしてはそんなに難しいことをやっているわけではなく、単純にメールの内容をLINE転送しているだけです。 今

    キャンセル待ち戦争から抜きんでよう!Google Apps Scriptを利用してキャンプ場予約サイトからLINEに転送する仕組みを作ってみた | DevelopersIO
  • くらめその情シス:ユーザーに対して自動リマインドする仕組みをつくってみた | DevelopersIO

    はじめに 情シスやってます、アノテーションの髙嶋です。 定期的に行う業務の中で「毎回こういった手間があるけどいい手はないか?」という話がありました。 どんな点が困っていたの?全体的にどうしたの?という内容は下記にまとめられていますので、そちらを先に一読いただければと思います。 【関連記事】 くらめその情シス:PCの棚卸を効率化してみた 記事ではその業務を改善するため、新たにツール化を行ったのでその中身に関して記載しています。 ツール化により改善した箇所と概要 概要 ツール化したのは関連記事内の"顕著になってきた問題"の"未回答の後追い"の部分になります。 今回はGoogleフォームのアンケートに回答がない人に対してリマインドするという構成になっており、ざっくりとして処理の流れは下記のようになります。 回答対象者の一覧を取得する。 対象者の回答状況を判定する。 未回答の場合、DMを送る。

    くらめその情シス:ユーザーに対して自動リマインドする仕組みをつくってみた | DevelopersIO
  • Google Apps Scriptを利用してWeb APIを取得する方法を試してみた | DevelopersIO

    こんにちは、コンサル部@大阪オフィスのTodaです。 CloudOneやaqua、mackerelなどWebサービスには情報の取得、登録、変更、削除を外部ツールでおこなえるようにWeb APIが用意されている事が多くあります。 ここ最近私の方で業務最適化をするにあたりGoogleスプレッドシートとGoogle Apps Script(GAS)を利用して情報を集中管理する対応がありGASを利用したWeb APIの通信方法について学びましたので内容をまとめてみました。 Google Apps Script(GAS)とは? Google Apps Script(GAS)とは、Googleが開発しているプログラミング言語です。 JavaScriptというWebブラウザ上で動作するプログラミング言語をベースに作成されています。 ■ Google Apps Script https://workspa

    Google Apps Scriptを利用してWeb APIを取得する方法を試してみた | DevelopersIO
  • Google Apps ScriptをTypeScriptで書いてみた | DevelopersIO

    はじめに アノテーションの髙嶋です。 Google Apps Script(以降、GAS)を書く際、みなさんはどうやってコードを書いてますか?私はTypeScriptで書いています。 今回はGASをTypeScriptで記述して実行する手順を書いています。 なぜTypeScriptで書くのか 型があるって素敵じゃないですか? JavaScriptだと変数の宣言時や関数のパラメータや戻り値に対して型は指定せず、実行時に入っている値をもとに決定されます。(動的型付け言語) 言ってしまえば「なんでも入れられます」という状態です。なので、変数に対して誤った値を設定していても気づけず、実行しないと問題なく動作するか確認できません。 一方、TypeScriptは変数の宣言時やメソッドのパラメータや戻り値にstringやnumberなどの型を指定することができます。(静的型付け言語) 型を指定することで

    Google Apps ScriptをTypeScriptで書いてみた | DevelopersIO
  • claspを使ってGoogle Apps Scriptの開発環境を構築してみた | DevelopersIO

    はじめに アノテーションの髙嶋です 今回はGoogle Apps Script(以降、GAS)の開発環境を自端末内に構築した際の手順を書いています。 GASにはGoogleが提供しているWEBエディターがあるので、そちらを使用すればすぐにプログラムを書き始めることができます。 私はVisual Studio Code(以降、VSCode)を使用したいので、今回のような環境を構築しています。 実行環境 今回の実行環境の情報です。 claspというNode.jsのパッケージを使用するため、Node.jsがインストールされている必要があります。 node --version v16.8.0 npm --version 7.22.0 claspの詳細はこちらで確認できます。 https://github.com/google/clasp 環境構築 設定 下記からGoogle Apps Script

    claspを使ってGoogle Apps Scriptの開発環境を構築してみた | DevelopersIO
  • GitHub Actionsを使ってGASをデプロイしてみた | DevelopersIO

    はじめに アノテーションの髙嶋です。 私は業務の中で社内ツールの作成なども行っていますが、Google Apps Script(以降、GASと記述)を使用することが多いです。 今回はGitHub Actionsを使ってGASのデプロイをやれないかな?と試してみたので、その手順を記載しています。 もっとこうした方がいい!というのもあると思うので、教えていただけると喜びます。 前提条件 ".clasprc.json"というファイルの情報を使用するため、claspを使用したGASの開発環境を構築できるスキルがある前提となります。 その辺りがわからない場合は、別途調べていただければと思います。 デプロイ準備 Secrets設定 claspを使用してローカル端末でGASの開発を行う場合、Googleにログインすることで".clasprc.json"というファイルが端末内に作成されます。 このファイル

    GitHub Actionsを使ってGASをデプロイしてみた | DevelopersIO
  • Google Apps Script でスプレッドシートデータを CSV にして GCS に出力してみた。 | DevelopersIO

    Google Apps Script でスプレッドシートデータを CSV にして GCS に出力してみた。 こんにちは、みかみです。 スプレッドシートでは、画面 GUI 操作でデータを CSV 形式でダウンロードすることもできますが、 ダウンロードした CSV を GCS に配置したい場合、いちいち手動でアップロードするのは面倒です。 ということで。 やりたいこと スプレッドシートデータを CSV ファイルで GCS に出力したい 前提 ファイル出力先の GCS バケットは作成済みです。 また、エントリでご紹介の内容は、以下の記事を参考にさせていただきました。 どうもありがとうございました! gcsにgasからファイルを公開して、アクセス耐性100万倍させるゾッと | Qiita スプレッドシートを準備 まずはスプレッドシートを作成します。 シート名を data に変更して、出力データを

    Google Apps Script でスプレッドシートデータを CSV にして GCS に出力してみた。 | DevelopersIO
    oppara
    oppara 2021/04/29
  • gcsにgasからファイルを公開して、アクセス耐性100万倍させるゾッと - Qiita

    これは、Google Cloud PlatformのAdvent Calendar の9日目のエントリーです 静的ファイルと私 マイクロダイエットでハードダイエット中のa2cです、GoogleDeveloperExpert(Apps)を担当しています。 GAS(GoogleAppsScirpt)を使えば、公開Webサーバが作れるのでスプレッドシート上の情報を元にJSON返したり、HTML返したり結構自由な公開ライフが送れたりします。がしかし、遅い!大量アクセスさばけない(なさそう)のです。 スプレッドシートでこさえたデータをデータベースに突っ込んでそこから再送するとか有りますが、静的ファイルをGCSに配備して一般公開することで、大量アクセスも難なく捌けるし、GoogleSpreadSheetの各種関数や、時限実行、履歴機能もそのまま使える素敵な管理画面が出来ます。 とは言え、GASには標準

    gcsにgasからファイルを公開して、アクセス耐性100万倍させるゾッと - Qiita
    oppara
    oppara 2021/04/29
  • 議事録をサッと準備する | フューチャー技術ブログ

    この記事の内容 GASにWebサーバを立て、エンドポイントを公開する ユーザのform入力を受け取る 議事録を自動作成してSlackに投稿する 完成版コードはこちらhttps://github.com/r-ryu/gas2slack-memo はじめにフューチャーTIGグループのDXユニットの棚井龍之介です。 ミーティング(以下MTG)の度に議事録を準備するのが大変だったので、作業を簡易化するWebサービスをGASで作成しました。 WebサイトにアクセスしてMTG名を入力すれば、議事録の準備が完了します。 ページにアクセスして、MTG名を入力すると... ⬇️ SlackGoogleドライブGoogleドキュメント(議事録)のURLが投稿されます。 議事録の準備リモートワークで出社しないのが当たり前となり、お客様とのMTGもオンラインが基となりました。 オンラインで済む分、MTG開催

    議事録をサッと準備する | フューチャー技術ブログ
  • GASの過剰に強強な環境構築【新歓ブログリレー2020 55日目】

    この記事はtraP新歓ブログリレー55日目の記事です。 こんにちは。19Bの@mazreanです。 このブログリレーでは他に以下のような記事も書いています。 はじめにこちらは新歓ブログリレー2020 26日目の記事です。こんにちは。19Bのmazreanです。traP内ではSysAd班に所属しており、普段はサーバーサイドのコードを書いたり、サーバー触ったり百合漫画を布教したり(下の記事も読んでね)とかをしています。 百合漫画の勧めこの記事は夏のブログリレー 9/8の記事です。19のmazrean(マズリーン)です。この記事では百合漫画の布教をしていこうと思います。 百合とは百合漫画について説明する前に百合というものの概念を説明していきます。といっても、実は百合の定義は人によってかなり変わってきます。そもそも「百合」という言葉はwikipe… ぜひ読んでみてください。 と前置きはここまでにし

    GASの過剰に強強な環境構築【新歓ブログリレー2020 55日目】
  • GAS を npm パッケージ + Webpack + TypeScript で開発する - Qiita

    概要 npm パッケージを使いつつ TypeScript で GAS を書いていく環境を作ったので、整理を兼ねてメモします。 前提 clasp を使って GAS を開発している。 モダンなフロントエンドの開発手法を理解している。 ゴール GAS をローカル環境上で Babel, TypeScript を使って開発していける環境の構築 Spreadsheetの onOpen, onInstall 等にも関数をバインドできる 説明しない事 clasp とは Node.js, npm, Babel, TypeScript Webpack の使い方 環境構築手順 clasp に管理させるディレクトリを変更する GASの開発は普通にやっていくと root ディレクトリ直下に全ファイルが配置される形になるかと思いますが、npmのエコシステムを使う場合は package.json や node_modu

    GAS を npm パッケージ + Webpack + TypeScript で開発する - Qiita