GoogleAppsScript

GAS(GoogleAppsScript)からシンプルにAPIを叩く方法(Twitter API)

GAS(GoogleAppsScript)からシンプルにAPIを叩く方法(Twitter API) 文系には難しい記事が多いので、なるべくシンプルに書いてみる 試しに使うのは Twitter API ーーーーーーー ※前提として、こちらのページからtwitter appを作ることが必要 https://developer.twitter.com/apps Appを作ったら、Consumer API keys(API key、API secret key )を入手して、Base64でエンコードしてください 詳細のやり方は以下が参考になる Twitter APIのOAuthToken取得方法 ーーーーーーー まず、TwitterのAPIを叩くためにTokenをもらってくる Curlで叩くとこんな感じ 【】の中は適宜変更してください 叩くとtokenが返ってくる これと同じことをGASでやってみるとこんな感じ UrlFetchApp.fetch(url,options)で、end pointのURLと、認証情報などのOptionsを送る 結果も帰ってきている もちろん、上で得たtokenを使ってAPI叩くときも同じようにやる GET statuses/user_timeline curlはこちら 試しにホリエモンさんのアカウントを使う GASにするとこうなる 今回getなのでpayloadはなし 結果も出てきている

GAS(Google Apps Script)でSlack BotにPostするお話

GAS(Google Apps Script)を使ってSlack BotにPostするお話 このモチベーションは、GASを使えば簡単に、スクリプトのスケジュール実行ができるので Botとの相性が良さそうと思ったのがきっかけ 参考: Google Apps Scriptはスケジューリングできるって まずはSlackのLibrary Keyを登録 「Resources」>「Libraries」 バージョンはひとまず最新にしておく ポストするコードはこんな感じ myFuncrtionを実行するといける 最初は認証やら聞かれるのでOKしておく Variablesの部分は以下を参考に GAS(Google Apps Script)の小ネタ〜変数   slack botの作り方は以下を参考に Office365のOutlook APIをpythonで叩いてSlackに本日と翌営業日の予定をPostしようとしてみる(4)Slack Appの作成

GAS(Google Apps Script)の小ネタ〜変数

GAS(Google Apps Script)のすごい小ネタ その3 変数を使いたいとき、特に、Secret Keyなど直接書きたくない奴は、「PropertiesService」を使う 実行してログを見ると無事に格納されている 変数の設定はUIからも可能 「File」>「Project propaties」 その名の通り、User propatiesはユーザーごとの変数で、Script propatiesはスクリプトごとの変数 Secret keyとかを格納するならUser propatiesに入れるのが良さそう 前は「UserPropaties」を使っていたんだけど、使おうとすると以下のようなエラーが出る もうじき使えなくなるそうなので、代替の「PropertiesService」を使った方が無難 「PropertiesService」の詳細の使い方は以下 Class PropertiesService 設定されていないと、「Undefined」が返ってくる わかりやすい

Google Apps Scriptを使ってタスクをSlackにポストする2(User変数などGAS側の設定からSlackに投稿するまで)

Google Apps Scriptを使ってタスクをSlackにポストする1(Slack Appを作成するまで)の続き GASでコードの貼り付けまで まずは、Google Spread Sheetで、このようなタスクシートを作成する。内容は適当に。 「Tools」>「Script editor」をクリック。 このような画面に飛ぶので、もともと記載のあるfunctionは全て消してしまう。 そして、以下のコードを貼り付ける。 <>内の変数は適宜変更ください。 slack tokenの変数名は適当に名前をつけてください。 日付の計算が難しく、冗長になってしまった。。 slack token変数設定 貼り付けたら、先ほどのslack tokenの変数名の設定をする。 パスワード系の変数は、コードに直接書きたくないので、User変数として定義する。 「File」>「Project properties」をクリック。 変数定義する前に、project名をつけろと言われたら設定する。 「User properties」>「Add row」とクリック。 先ほど定義した変数と、tokenの値を入力して「Save」。 実行許可 実行関数「mainFunction」を選択する。 「Authorization required」と言われるので許可をする。 許可するアカウントを選んで進めていく。 実行 slackのポストするチャンネルで、作成したBotをinviteする。(「/invite 【ボット名】) GASのページの三角マーク(▶︎)より実行する。 無事に、未完了の直近タスク(1週間後までのタスクのうち「done」が付いていないタスク)だけがslackにポストされる。 以上

Google Apps Scriptを使ってタスクをSlackにポストする1(Slack Appを作成するまで)

Google Apps Scriptを使ってSpreadsheetの以下のようにまとめられたタスクのうち、1週間以内に期限が来るものをSlackにポストする ゴールイメージ 手順 https://api.slack.com/appsにアクセスする。 「Create New App」をクリック。適当な名前とワークスペースを選択して、New Appを作成する。 「Bots」を選択し、Botを作成する。 先ほどの画面(「Settings」>「Basic Information」)に戻り、「Install your app to your workspace」の右の三角を展開、「Install App to Workspace」より、インストールをする。 また、先ほどの画面(「Settings」>「Basic Information」)に戻り、「Manage distribution」の右の三角を展開、「Distribute App」をクリックする。 「Manage Distribution」の画面に飛ぶので、「Add OAuth Redirect URLs」の右の三角を展開、「Set Up Redirect URLs」をクリックする。 一応適当なURLを入れて、「Save URLs」で保存。 あとで使うので、「OAuth Access Token」と「Bot User OAuth Access Token」をコピーしておく。 「Manage Distribution」の画面に戻り、「Remove Hard Coded Information」の右の三角形を展開、チェックボックにチェックを入れる。 すると、「Activate Public Distribution」のボタンがActiveになるのでクリックする。 同じ「Manage Distribution」の画面を下にスクロールし、「Submit to the Slack …

Google Apps Scriptを使ってタスクをSlackにポストする1(Slack Appを作成するまで) Read More »