使用rtweet调用tweet_search_all时遇check_scopes权限缺失错误求解决
解决rtweet中
tweet_search_all权限缺失问题 问题原因
你调用的tweet_search_all是X API的全量搜索接口,该接口需要特定权限才能访问,当前你的认证账号未包含tweet.moderate这个必要权限范围,因此触发报错。
解决步骤
确认并申请学术研究权限
全量搜索接口仅对拥有「Academic Research(学术研究)」权限的X开发者账号开放。登录X开发者平台,进入你的项目与应用:- 进入「权限和功能」板块,检查是否已获得学术研究权限;
- 若未获得,提交权限申请,需明确说明你的移民问题研究用途,可附上学生身份、研究项目说明等相关材料。
更新应用的认证范围
在X开发者平台的「用户认证设置」中,确保勾选包含tweet.moderate在内的必要权限范围,保证后续认证流程能获取到该权限。重新进行rtweet认证
旧的认证缓存未包含新权限,需重新认证:- 可直接调用
auth_setup_default()重启认证流程,确保授权时同意新增的权限; - 也可手动指定权限范围创建认证,示例代码:
auth <- rtweet_app(scopes = c("tweet.read", "users.read", "tweet.moderate")) auth_save(auth, "academic_auth") auth_as("academic_auth")- 可直接调用
验证权限并重新执行代码
用auth_has_scope("tweet.moderate")检查是否已成功获取权限,确认后重新运行你的搜索代码:tweets_migration <- tweet_search_all("migration", n = 10, parse = TRUE)
补充说明
如果暂时无法获得学术研究权限,可改用tweet_recent_search接口获取最近7天的推文,该接口对普通开发者账号开放,无需额外权限。
内容的提问来源于stack exchange,提问作者Francisco Alvarado
相关产品推荐
相关产品推荐

