見出し画像

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

どうもこんばんはtmdです。
チャネルトークの記事2つ目です!

この記事シリーズの目標

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

前回やったこと

チャネルトークのスニペットに何らかの情報を表示する

今回の目標

チャネルトークのスニペットにチャネルトークから取得した情報を表示する

コードを編集する

function doPost(e) {
  var snippetData = JSON.parse(e.postData.getDataAsString());
  var data ={
    "snippet": {
    "version": "v0",
     "layout": [
      {
        "id": "title",
        "type": "text",
        "text": snippetData["user"]["name"],
        "style": "h1"
      }
      ],
    "params": {
       "customerKey": "channelIO"
    }
    }
  }
  return ContentService.createTextOutput(JSON.stringify(data))
    .setMimeType(ContentService.MimeType.JSON);
}

▼変更点
(1)追加
var snippetData = JSON.parse(e.postData.getDataAsString());
doPost(e)のeの値を取得して利用するために、いい感じにするおまじないをかけて変数に値を入れています。

(2)変更
変更前:"text": "挙動の確認テストしてます",
変更後:"text": snippetData["user"]["name"],
snippetDataに突っ込んでおいたスニペットから飛んできた値のうちuserの中にあるnameに入ってる値を表示させます。
飛んできたデータが["user"={"name"="hoge"}]だったら"hoge"が表示される感じです。

これでデプロイしなおせば、チャットに表示されるのは顧客名に!!

将来への不安

この時、tmdは後のことを考えて、開いているチャットのIDを取得したかったんですよね。
これがあればAPIキーでチャットにもアクセスができるし、asanaに登録するにも良いと思ったので。
でもスニペットから取得できた値を見るとない。
まじでない。

チャネルトークさんに問い合わせたところ「社内にフィードバックさせていただきますね!!!」とのこと。
・・・無いのね。。。
ちなみにチャットの作成日もないみたい。。。。

tmdの明日はどっちだ?!
続きます。多分。

次の記事はこちら


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