2

我想通过python中的实现通过JSON响应向用户发送三个基本卡作为响应。那么有什么办法可以做到吗?

附言

基本上,我想向用户显示三个按钮callmailcall on office,但是由于基本卡只显示一个链接,我认为是否可以显示多个包含按钮的卡!

这是我发送的回复。

{
    "payload": {
        "google": {
            "expectUserResponse": "true",
            "richResponse": {
                "items": [{
                        "simpleResponse": {
                            "textToSpeech": "Here is the information of " + user_name
                        }
                    },
                    {
                        "basicCard": {
                            "title": name,
                            "subtitle": subtitle,
                            "image": {
                                "url": picture_url,
                                "accessibilityText": "Picture of " + name
                            },
                            "formattedText": msg,
                            "buttons": [{
                                    "title": "Call " + user_name,
                                    "openUrlAction": {
                                        "url": "tel:+" + contact
                                        if contact is not None
                                        else "",
                                        "androidApp": {
                                            "packageName": "com.android.phone"
                                        },
                                        "versions": []
                                    }
                                }
                                if contact is not None
                                else {
                                    "title": "Send Mail to " + user_name,
                                    "openUrlAction": {
                                        "url": "mailto:" + email,
                                        "androidApp": {
                                            "packageName": "android.intent.extra.EMAIL"
                                        },
                                        "versions": []
                                    }
                                },
                                {
                                    "title": "Call on extention",
                                    "openUrlAction": {
                                        "url": "tel:+" + extension
                                        if extension is not None
                                        else "",
                                        "androidApp": {
                                            "packageName": "com.android.phone"
                                        },
                                        "versions": []
                                    }
                                }

                            ],
                            "imageDisplayOptions": "WHITE"
                        }
                    }
                ],
                "suggestions": [{
                        "title": "Info of " + manager
                        if manager is not None
                        else ""
                    },
                    {
                        "title": "Info of " + hr_manager
                        if hr_manager is not None
                        else ""
                    }
                ]
            }
        }
    }
}
4

1 回答 1

5

您不能发送多张卡片,虽然卡片上的按钮采用数组,但该数组中只允许一个元素。

但是,您可以通过发送浏览轮播来做类似的事情。这使您可以发送多个包含标题的图块,并且可能包含图像、正文和链接,其形式与卡片具有链接的形式相同。

一个问题是我不确定链接是否必须是 http 或 https 链接,或者是否允许其他 URL 形式,但请记住,并非所有可能支持链接的表面都支持能够拨打电话。

于 2018-08-24T13:44:59.377 回答