我无法使用Messenger平台对应用程序进行压力测试,以便在很短的时间内向多个用户发送相同的消息.我收到限制错误:(#613) Calls to this api have exceeded the rate limit.
目前我正在测试这个,通过多次向同一个用户发送相同的消息(我); 在现实世界的场景中,当然会将相同的消息发送给几个不同的用户.
此外,我正在使用实时应用程序的测试应用程序来执行这些测试.这应该在现场应用程序中大幅提升吗?
我真的需要一个很好的吞吐量广播消息,所以目前我的设置有几个线程spawn(50)并行发送消息,其中一些已达到此限制并出错.此外,我尝试了批量请求以提高交付流程的速度,此时它真的变得无法忍受,成功率低于50%.
我已经阅读了一般的图谱API速率限制(https://developers.facebook.com/docs/graph-api/advanced/rate-limiting),并发送一条消息,提供了一个页面访问令牌,所以我希望我的应用程序属于"页面级别限制"类别,如果我发送了太多邮件.但是,在错误响应中没有X-Page-Usage标头(顺便说一下,没有X-App-Usage).
在Messenger平台文档(https://developers.facebook.com/docs/messenger-platform/send-api-reference#limits)中,陈述如下:
Messenger Platform支持对Send API的高速调用.
但是,您应该构建系统,以便随着时间的推移分配任何突然的大量负载,并且如果达到我们的速率限制,则能够控制吞吐量.
速率限制适用于防止恶意行为和糟糕的用户体验.
请务必捕获Send API返回的任何错误,包括指示您已达到速率限制的错误.
这些也不是特别有用,因为它们没有明确地引用一般的图谱API限制,也没有指定允许您执行的不同数量的请求.
有什么我可能会失踪的吗?
我想更改使用 javascript facebook SDK 的“发送到 Messenger”插件生成的按钮文本。
facebook facebook-javascript-sdk facebook-messenger facebook-send-api
Following is the payload for generic template. How to give attachment ID instead of image URL.
Run Code Online (Sandbox Code Playgroud)
https://developers.facebook.com/docs/messenger-platform/send-messages/template/generic#payload显示如何提供通用模板 POST 请求和https://developers.facebook.com/docs/messenger-platform/ send-messages#attachment_reuse展示了如何使用保存的资源进行发送。如何在通用模板中将它们组合起来
{
"recipient":
{
"id":"psid"
},
"message":
{
"attachment":
{
"type":"template",
"payload":
{
"template_type":"generic",
"elements":
[
{
"title":"Welcome to PeterHats",
"image_url":"https://i.ytimg.com/vi/EGpy98wrHDo/hqdefault.jpg",
"subtitle":"Actor \n Director",
"default_action":
{
"type": "web_url",
"url": "https://www.google.co.in",
"messenger_extensions": true,
"webview_height_ratio": "tall",
"fallback_url": "https://www.facebook.com/"
}
}
]
}
}
}
Run Code Online (Sandbox Code Playgroud)
}