Google-Chat-API: Open dialog from posted message

556 views Asked by At

I use bot to post cards with version 2 (сards_v2 property).

Cards are rendered as normal, but I want to add a Button to open Dialog. This does not work.

How can I achieve this?

I post to POST /v1/chat/channels/:channel_id/messages?

body:

{
    "cards_v2": [{
        "card": {
            "header": {
                "title": "Rolodex",
                "subtitle": "Manage your contacts!",
                "imageType": "CIRCLE",
                "imageUrl": "https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png"
            },
            "sections": [{
                "widgets": [{
                    "buttonList": {
                        "buttons": [{
                            "text": "Add Contact",
                            "onClick": {
                                "action": {
                                    "function": "openDialog",
                                    "interaction": "OPEN_DIALOG"
                                }
                            }
                        }]
                    }
                }]
            }]
        }
    }]
}

Card successfully posted

Then I click on Button, and receive event:

{
    "type": "CARD_CLICKED",
    "eventTime": "2022-08-31T16:16:36.147391Z",
    "message": {
        "name": "spaces/:space_id/messages/YTyNVBNW-H4.YTyNVBNW-H4",
        "sender": { ... },
        "createTime": "2022-08-31T16:16:31.639439Z",
        "thread": { ... },
        "space": { ... },
        "cardsV2": [{
            "card": {
                "header": {
                    "title": "Rolodex",
                    "subtitle": "Manage your contacts!",
                    "imageType": "CIRCLE",
                    "imageUrl": "https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png"
                },
                "sections": [{
                    "widgets": [{
                        "buttonList": {
                            "buttons": [{
                                "text": "Add Contact",
                                "onClick": {
                                    "action": {
                                        "function": "openDialog"
                                    }
                                }
                            }]
                        }
                    }]
                }]
            }
        }],
        "retentionSettings": {
            "state": "PERMANENT"
        }
    },
    "user": { ... },
    "space": { ... },
    "action": {
        "actionMethodName": "openDialog"
    },
    "common": {
        "hostApp": "CHAT",
        "invokedFunction": "openDialog"
    }
}

First: Event skips DialogEventType is REQUEST_DIALOG.

Second: When I respond with dialog response, but no dialog appears.

{
    "actionResponse": {
        "type": "DIALOG",
        "dialogAction": {
            "dialog": {
                "body": {
                    "sections": [{
                        "header": "Add new contact",
                        "widgets": [{
                            "textInput": {
                                "name": "contactName",
                                "label": "Name",
                                "type": "SINGLE_LINE"
                            }
                        }, {
                            "buttonList": {
                                "buttons": [{
                                    "text": "Next",
                                    "onClick": {
                                        "action": {
                                            "function": "openSequentialDialog"
                                        }
                                    }
                                }]
                            }
                        }]
                    }]
                }
            }
        }
    }
}

I see only error: Error message

0

There are 0 answers