操作类型为打开 url 的英雄卡片按钮不适用于所有 Skype 客户端
Hero card button with Action type as Open url doesn't work on all skype clients
我从 GitHub 示例中提取了一个非常标准的代码,如下所示:
HeroCard postAnalysisCard = new HeroCard()
{
Buttons = new List<CardAction>
{
new CardAction(ActionTypes.PostBack, "Show me previous polls", value: "showprevious"),
new CardAction(ActionTypes.PostBack, "Show me more statistics regarding this question", value: "ShowStats"),
new CardAction(ActionTypes.OpenUrl, "Show me more about this topic", value: "http://bing.com/search?q=" + question.Substring(0, queryIndex)),
new CardAction(ActionTypes.PostBack, "Help", value: "Help")
}
};
但是 OpenUrl
操作似乎并不适用于所有 Skype 客户端。它适用于 Windows 桌面,但不适用于 Android。
这是一个已知问题吗?
如果是,要获得一致的行为,解决方法是什么?
您在OpenUrl
中提供的URL必须使用https://
。 Skype 要求所有外部链接都是安全的。
实际问题是 url 中未转义的特殊字符。转义字符串可以解决问题。
我从 GitHub 示例中提取了一个非常标准的代码,如下所示:
HeroCard postAnalysisCard = new HeroCard()
{
Buttons = new List<CardAction>
{
new CardAction(ActionTypes.PostBack, "Show me previous polls", value: "showprevious"),
new CardAction(ActionTypes.PostBack, "Show me more statistics regarding this question", value: "ShowStats"),
new CardAction(ActionTypes.OpenUrl, "Show me more about this topic", value: "http://bing.com/search?q=" + question.Substring(0, queryIndex)),
new CardAction(ActionTypes.PostBack, "Help", value: "Help")
}
};
但是 OpenUrl
操作似乎并不适用于所有 Skype 客户端。它适用于 Windows 桌面,但不适用于 Android。
这是一个已知问题吗? 如果是,要获得一致的行为,解决方法是什么?
您在OpenUrl
中提供的URL必须使用https://
。 Skype 要求所有外部链接都是安全的。
实际问题是 url 中未转义的特殊字符。转义字符串可以解决问题。