Microsoft Edge上的Facebook Messenger Extensions - 缺少GET参数

时间:2018-04-19 10:42:50

标签: web get microsoft-edge facebook-messenger facebook-messenger-bot

我想在Microsoft Edge中使用Facebook Messenger Extensions(打开Webview)。

我的应用向REST API端点messages发送请求。有效载荷如下。 Documentation on this

{  
   "messaging_type":"RESPONSE",
   "recipient":{  
      "id":"<id>"
   },
   "message":{  
      "attachment":{  
         "type":"template",
         "payload":{  
            "template_type":"button",
            "text":"Test text",
            "buttons":[  
               {  
                  "type":"web_url",
                  "url":"https://c0292fc0.ngrok.io/facebook/render_multi_choice?data=24561",
                  "title":"Test Button",
                  "webview_height_ratio":"full",
                  "messenger_extensions":"true",
                  "fallback_url":"https://c0292fc0.ngrok.io/facebook/render_multi_choice?data=24561"
               }
            ]
         }
      }
   }
}

当用户点击Messenger中的“测试按钮”按钮时,会弹出一个Web视图,并在后备网址/网址上显示响应:https://c0292fc0.ngrok.io/facebook/render_multi_choice?data=24561

注意,URL包含一个参数data = 24561

我的Python Flask应用程序收到请求:

@application.route("/facebook/render_multi_choice", methods=["GET"])
    def render_multi_choice():
        args = request.args
        print(args)
        return "OK"

问题在于人们会期望args打印出来:

ImmutableMultiDict([('data', 24561), ('fb_iframe_origin', '')])

然而,它打印出来:

ImmutableMultiDict([('data', ''), ('fb_iframe_origin', '')])

我的流程在Google Chrome中运行良好,但不适用于Microsoft Edge。你知道问题是什么吗?如果我直接在浏览器中打开URL(没有Webview),那么就可以在Edge上按预期工作了。

0 个答案:

没有答案