GASを使ったリッチメニューからアンケートとカードタイプメッセージを表示したい
解決したいこと
①GASで作成したリッチメニューの、右下を押したら、3問ほどのアンケートを実施し、スプレッドシートにすでに登録されているユーザーIDに紐づけて回答を転記したい
※友達登録初期時にユーザーIDと名前を取得し、スプレッドシートに反映するコードはなんとか動きました
②左上ボタンを押したら、カードタイプメッセージを表示したい
発生している問題・エラー
・画像はGASでは表示できず、画像のURL出なけければ不可能とのブログを見ました
・私の技術では、ここまでが手詰まりであり、ヒントとなる方々の内容の理解に追いつかないでしまいました
②左上ボタンを押したら、カードタイプメッセージの表示については、コードを書いてみましたが、現在リッチメニューの更新がうまくできず、動作確認ができておりません。こちらの書き方で問題ないか、チェックいただけますと幸いです。
### 該当するソースコード
```言語名
GAS
例)
function createRichMenuC1() { //richmenu-117a203f39e1217ecb151ce0ca05f17e
let richmenu = bot.richmenu({
"name": "移住希望者C",
"barText": "←キーボード / メニュー",
"size": { "width": 2500, "height": 1686 },
"selected": true,
"areas": [
bot.area({ "x": 0, "y": 0, "width": 1250, "height": 220,
"action": bot.aSwitch({"aliasId": "switch-to-a", "data": "change to A"}) }),
bot.area({ "x": 1250, "y": 0, "width": 1250, "height": 220,
"action": bot.aSwitch({"aliasId": "switch-to-c", "data": "change to C"}) }),
bot.area({ "x": 0, "y": 220, "width": 1666, "height": 1466, //左上
"action": bot.aPostback({"data": "showCarousel"}) }), // カードメッセージ表示のトリガー、0821追加
bot.area({ "x": 1667, "y": 220, "width": 833, "height": 733, //右上
"action": bot.aMessage({"text": "真ん中下"}) }),
bot.area({ "x": 1667, "y": 954, "width": 833, "height": 733, //右下・アンケート
"action": bot.aMessage({"text": "右下"}) }),
]
})
let res = bot.createRichMenu(richmenu);
console.log(res.toString());
}
//カードメッセージ表示のトリガー、0821追加↓ここから
function doPost(e) {
let json = JSON.parse(e.postData.contents);
let events = json.events;
for (let i = 0; i < events.length; i++) {
let event = events[i];
let userId = event.source.userId;
// 左上エリア押下時にカードメッセージを表示する
if (event.type === "postback" && event.postback.data === "showCarousel") {
sendCarouselMessage(userId);
}
}
function sendCarouselMessage(userId) {
bot.pushMessage(userId, {
"type": "template",
"altText": "マッチングまでの流れ",
"template": {
"type": "carousel",
"columns": [
{
"thumbnailImageUrl": "https://example.com/image1.jpg",
"title": "カード 1",
"text": "テキスト1",
"actions": [
{ "type": "postback", "label": "選択 1", "data": "action=select&itemid=1" }
]
},
{
"thumbnailImageUrl": "https://example.com/image2.jpg",
"title": "カード 2",
"text": "テキスト2",
"actions": [
{ "type": "postback", "label": "選択 2", "data": "action=select&itemid=2" }
]
},
{
"thumbnailImageUrl": "https://example.com/image3.jpg",
"title": "カード 3",
"text": "テキスト3",
"actions": [
{ "type": "postback", "label": "選択 3", "data": "action=select&itemid=3" }
]
},
{
"thumbnailImageUrl": "https://example.com/image4.jpg",
"title": "カード 4",
"text": "テキスト4",
"actions": [
{ "type": "postback", "label": "選択 4", "data": "action=select&itemid=4" }
]
}
]
}
});
}
//カードメッセージ表示のトリガー、0821追加↑ここまで
自分で試したこと
先週から缶詰で学び、やっとタブ切り替えのリッチメニューと、ボタンを押下されたらメッセージの表示、またはURL先へ飛ぶ方法がわかりました。
0 likes