R语言twitteR包getUser函数获取纯数字用户名用户信息失败求助
解决twitteR包获取纯数字用户名时的404错误
这个问题我之前踩过坑!其实根源在于twitteR的getUser()函数有个自动判断逻辑:如果传入的参数是纯数字字符串,它会默认把这个值当成用户ID去查询,而不是你实际想查的用户名(screen name)。如果这个数字并不是某个用户的ID,自然就会返回HTTP 404的"Not Found"错误。
解决办法:手动调用底层API接口,指定查询参数
绕过getUser()的自动判断,直接用twitteR的底层API调用方法,明确告诉接口你要查询的是screen_name(用户名),而不是user_id。
具体代码如下:
# 假设你已经完成了twitteR的身份验证,twInterfaceObj是有效的认证对象 # 手动查询纯数字用户名的用户信息 raw_user_data <- twInterfaceObj$doAPICall( endpoint = paste("users", "show", sep = "/"), params = list(screen_name = "1234"), # 明确指定是用户名 method = "GET" ) # 如果你需要把返回的原始数据转换成twitteR的User对象,用as.User() user_obj <- as.User(raw_user_data)
额外提示:区分用户名和用户ID
如果不确定这个纯数字到底是用户名还是用户ID,可以分别尝试两种查询方式:
- 按用户名查询:用
screen_name = "1234" - 按用户ID查询:用
user_id = "1234"
这样就能准确找到你要的用户信息啦。
内容的提问来源于stack exchange,提问作者P90
相关产品推荐
相关产品推荐

