Twitter Premium API webhook无法接收除私信外的账户活动通知
解决方案排查步骤
- 确认已完成用户订阅关联:仅注册webhook并通过CRC验证不会自动推送所有授权用户的活动,你需要为每一个完成授权的用户调用添加订阅接口,将用户账户和你的webhook端点绑定。你可以先调用订阅列表查询接口确认测试账户是否已经在有效订阅列表中。
- 确认订阅时指定了全量事件类型:付费版Account Activity API支持在创建/更新订阅时指定需要推送的事件类型,如果你没有主动配置
event_types参数,默认仅会推送私信类事件。你需要在订阅接口中显式传入你需要的所有事件类型,包括tweet_create_events(对应评论、发推、@提及)、direct_message_events(私信)等你需要的全量类型。 - 确认授权流程的权限范围正确:虽然你在应用后台开了读写+私信权限,但如果你的OAuth授权流程中请求的scope不包含对应权限也会导致事件无法推送。你需要确认授权请求的scope包含
read-write以及direct-messages.read等全量所需范围,同时要确认测试用户授权时没有取消勾选任何权限选项。 - 确认没有过滤非私信类的回调数据:检查你的PHP应用的webhook接收逻辑,是否存在只处理
direct_message_events类型、或者其他类型的事件被你误过滤、或者返回了非200状态码的情况。Twitter的推送如果连续多次收到非200响应会暂时停止推送对应类型的事件,你可以在开发者后台的webhook日志中查看是否有对应事件的推送记录以及错误提示。 - 确认付费套餐的事件覆盖范围:不同档位的付费Account Activity API套餐支持的事件类型有差异,你可以在开发者后台的付费套餐详情页确认你开通的档位是否包含推文、@提及、评论类事件的推送权限,部分低价基础套餐仅支持私信类事件推送。
内容的提问来源于stack exchange,提问作者gherick
相关产品推荐
相关产品推荐

