【发布时间】:2018-01-13 09:25:05
【问题描述】:
有没有办法以编程方式取消订阅 Facebook 用户,这样他就不会在我的 Facebook 页面上收到来自机器人的任何消息?
我可以在我的数据库中将他标记为未订阅,这样我的程序就可以检查而不是通过发送 API 向他发送消息,但他仍会收到通过广播 API 发送的广播。
【问题讨论】:
标签: facebook-graph-api facebook-chatbot
有没有办法以编程方式取消订阅 Facebook 用户,这样他就不会在我的 Facebook 页面上收到来自机器人的任何消息?
我可以在我的数据库中将他标记为未订阅,这样我的程序就可以检查而不是通过发送 API 向他发送消息,但他仍会收到通过广播 API 发送的广播。
【问题讨论】:
标签: facebook-graph-api facebook-chatbot
看起来您可以使用数据库和 SendAPI 取消订阅用户,但不能对广播 API 执行相同操作。为了让用户不接收特定广播,您需要使用 FB 的 Targeted Broadcast API 从用户的 PSID 中删除广播标签。
例如,如果您有一个与标签关联的广播“MY_BROADCAST_LABEL_123”,您需要:
然后,在发送广播消息时,只需在请求负载的custom_label_id 属性中包含标签“MYBROADCAST_LABEL_123”,如下所示:
{
"message_creative_id": <YOUR_BROADCAST_MESSAGE_ID_HERE>,
"custom_label_id": "MY_BROADCAST_LABEL_123"
}
要完成上述所有操作,您应该查看Targeting Broadcast Messages 的 FB 文档,了解您需要的所有实现细节。请确保您至少使用 Graph API v2.11。
【讨论】: