如何使用Tweepy判断Twitter用户是否可接收私信且无需发送消息
无需发送私信筛选Twitter可接收私信用户的可行性解答
核心结论
仅凭借你当前已获取的用户属性字段,无法实现该筛选需求。
具体原因
- Twitter官方接口中,专门用于标识当前身份是否可向目标用户发送私信的核心字段为
can_dm,该字段不在你提供的已获取字段列表范围内 - 你现有的全部字段均无法间接推导用户的私信权限设置:包括
verified(账号已认证)、protected(账号设为私密)、following(你已关注对方)等字段和私信权限没有必然对应关系,不存在通用的推断规则
可落地的实现方案
你无需实际发送私信测试,只需调整接口请求参数即可实现需求:
- 调用Twitter用户信息接口(如V1版本的
GET /1.1/users/show.json、V2版本的GET /2/users/{用户ID})时,在请求参数中额外指定要返回can_dm扩展字段 - 拿到返回结果后直接判断
can_dm的取值:值为true即代表该用户允许你向其发送私信,值为false则无权限
内容的提问来源于stack exchange,提问作者Roi Gerber
相关产品推荐
相关产品推荐

