如何通过Facebook Graph API发布帖子时@标记用户
实现Facebook Graph API发帖子标记用户/主页的解决方案
直接在message参数中加@username的方式无法被接口识别,需要按以下规则调用接口:
前置要求
- 你的应用已申请
pages_manage_posts权限,若标记用户还需获得对应用户的公开资料授权 - 你使用的页面访问令牌(Page Access Token)拥有对应主页的发布权限
- 被标记的用户/主页是公开状态,或未设置禁止标记权限
正确调用方式
需要新增message_tags参数指定标记信息,参数为数组格式,每个元素包含以下字段:
id:被标记用户/主页的Facebook IDoffset:标记文本在message内容中的起始位置,从0开始计数length:标记文本的字符长度
注意:
message参数内容不需要加@符号,直接写入被标记用户的名称即可,接口会自动根据message_tags的配置添加@标记样式
调用示例
比如要发布内容为Thanks 张三的帖子,标记ID为123456789的用户张三:
POST https://graph.facebook.com/v12.0/{page-id}/feed 请求参数: access_token={你的页面访问令牌} message=Thanks 张三 message_tags=[{"id":"123456789","offset":6,"length":2}]
如果采用URL拼接方式请求,需要先对message_tags的内容做URL编码,避免特殊字符引发报错。
常见限制
- 单条帖子最多可标记50个用户/主页
- 若被标记用户设置了禁止陌生人标记、未对你的应用授权,标记会自动失效不展示
- 标记主页的操作逻辑和标记用户完全一致,替换为对应主页ID即可
内容的提问来源于stack exchange,提问作者OVI
相关产品推荐
相关产品推荐

