見出し画像

チャネルトークとほかのツールと連携したい(スニペット・asana編) その1

こんばんはtmdです。
自称、古の言語を使いしエンジニアの成れの果てです。
またの名をカスタマーサポートの主婦です。

tmdは元同僚から「これができたらお金あげるよ」って言われたので全力で尻尾を振りながらついていき、チャネルトークとほかのツールをGASで連携するべく頑張っています。一般的には業務委託とも言います。

この記事シリーズの目標

・チャネルトークで気になるチャットを見つけた時に、スニペットにあるボタンを押したらasanaにタスクが作成されるようにしたい。
・すでにasanaにタスクがある場合はチャネルトークのスニペットに表示させたい。

今日のお題

目標までの下ごしらえとして、チャネルトークのスニペットに何かを表示させたい。

使った言語

GoogleAppScript

参考になった資料

やったこと

その1 GASを書きます。

参考のコードがこちら

function doPost(e) {
  var data ={
    "snippet": {
    "version": "v0",
     "layout": [
      {
        "id": "title",
        "type": "text",
        "text": "挙動の確認テストしてます",
        "style": "h1"
      }
      ],
    "params": {
       "customerKey": "channelIO"
    }
    }
  }
  return ContentService.createTextOutput(JSON.stringify(data))
    .setMimeType(ContentService.MimeType.JSON);
}

▼素人による簡単な解説
function doPost(e)
チャネルトークから「応答しろよ」ってリクエストが届くのでこれで受け止めます。
最初無意識にdoGetかと思ってて、全然動かなくていろいろチェックした結果がこれで奇声を上げました。みんなは大丈夫だと思うけど、Postだからね!!!!
var dataの中身
layout:[]の中身が自由記載と考えましょう。公式にビルダーがあるのでこちらで作成したものを張り付けると良いです。
returnの行
var dataの中身をJOSNの値としておらよっと投げ返します。わからない人へ、これは「おまじない」です。さあ繰り返して、さん、はい!「おまじない」

その2 GASをデプロイします。

AppScriptの画面の右上にあるデプロイを押して、新しいデプロイを選択します。
これは初回の説明なので、コードを修正して再度デプロイしたい場合はデプロイを管理から更新するのがよいでしょう。

設定
種類の選択:ウェブアプリ
次のユーザーとして実行:自分
アクセスできるユーザー:全員

そうするとなんかいろいろ出てくるので「ウェブアプリ」のURLと書いてある部分をコピーします。これはその3で使うのでコピーしておくのです。

その3 チャネルトークのスニペットの設定をします

スニペット管理の画面を開きます。
チャネル設定>開発向け>スニペット管理です

次はスニペットを追加を押します。
スニペットを追加のポップアップが出るので
・名前は適当
・APIURLはその2でコピペしたGASのウェブアプリのURL
これで保存を押します。

あとはなんか適当なチャットを確認すると、書いたものが右のほうにしれっと表示されます!

以上、今日はここまで。
リアルタイムで戦いながら書いているので、次回無事にチャネルトークから飛んできた値を表示する方法とかについて説明できることを祈って!また会いましょう。


続きはこちら


この記事が気に入ったらサポートをしてみませんか?