我使用 gem facebook-messenger
发送至Facebook
当人们点击网站上嵌入的Send to Messenger按钮时,您将收到一个optin事件。
Bot.on :optin do |optin|
optin.sender # => { 'id' => '1008372609250235' }
optin.recipient # => { 'id' => '2015573629214912' }
optin.sent_at # => 2016-04-22 21:30:36 +0200
optin.ref # => 'CONTACT_SKYNET'
optin.reply(text: 'Ah, human!')
end
<div class="fb-send-to-messenger"
messenger_app_id="<APP_ID>"
page_id="PAGE_ID"
data-ref="<PASS_THROUGH_PARAM>"
color="<blue | white>"
size="<standard | large | xlarge>">
</div>
WHEN 我尝试将简单字符串添加到data-ref
,它可以正常工作。
但是放置url
(http://asdasda/asdas/sad?/asd.。) DOESN&#39; TEDED
答案 0 :(得分:0)
我发现data-ref
不接受特殊字符(例如!@#$%^&amp; *()| ...,
因此编码和解码网址将无效。 由于例如编码/解码的URL包含特殊字符,例如%。
现在,为了使我的功能正常工作,我所做的是制作一个替换特殊字符的辅助方法。
def parse_product_url(url)
url.gsub('?', 'QMARK').gsub('&', 'AND').gsub('//', '')
end
在Bot..reply参数中执行 in-reverse 。