Facebook对话API如何识别消息发送者?含页面回复主体区分需求
如何通过对话API获取消息发送者身份信息
刚好之前处理过类似的机器人消息检测场景,给你梳理下具体的实现方法:
你需要在对话API的请求里嵌套发送者字段,来获取每条消息的发送主体详情。之前你用me/conversations?fields=messages只能拿到消息内容,现在扩展字段就能拿到发送者的关键信息了。
具体请求写法
把你的请求改成这样:
me/conversations?fields=messages{id,message,sender{id,name,type}}
这里的核心是在messages的字段里嵌套了sender对象,同时指定了id、name和type三个属性——其中type字段就是帮你快速区分发送者身份的关键。
发送者类型对应说明
通过sender.type返回的值,你可以直接判断发送主体:
user:代表是真人发送的,可能是你本人,也可能是其他拥有页面回复权限的工作人员page:如果是你的官方页面后台发送的消息(比如你直接在页面后台回复客户)application:表示是你的应用程序自动发送的消息bot:明确是机器人账号发送的消息
额外的身份区分技巧
如果要精准判断是不是你本人发送的,只需要把当前登录用户的ID和sender.id做个对比就行,匹配上的就是你自己发的;如果是其他user类型的发送者,就是拥有页面权限的其他人员。
内容的提问来源于stack exchange,提问作者Brayan Neves
相关产品推荐
相关产品推荐

