![見出し画像](https://assets.st-note.com/production/uploads/images/97456694/rectangle_large_type_2_e8ac8e5e2d1c238c27bd9e418316eca7.png?width=1200)
チャネルトークとほかのツールと連携したい(スニペット・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の明日はどっちだ?!
続きます。多分。
次の記事はこちら