Molx 的解决方案似乎不再有效。问题似乎出在
api.url <- paste0("https://api.twitter.com/1.1/lists/members.json?slug=",
twlist, "&owner_screen_name=", twowner, "&count=5000")
对于我尝试过的任何 twlist 或 twowner,此 URL 似乎无效。
编辑:问题来自我认为的身份验证
{"errors":[{"code":215,"message":"Bad Authentication data."}]}
我想我已经通过这个验证了
## Twitter authentication,
consumer_key = "xxxxx"
consumer_secret = "xxx"
access_token = "xxxxx"
access_secret = "xxx"
setup_twitter_oauth(consumer_key, consumer_secret, access_token,
access_secret)
问题出在哪里?
编辑:当我输入 get_oauth_sig() 我得到下面的结果
> twitteR:::get_oauth_sig()
<Token>
NULL
<oauth_app> twitter
key: XXXXXXX
secret: <hidden>
<credentials> oauth_token, oauth_token_secret
---
这正常吗?
Molx 的解决方案似乎不再有效。问题似乎出在
api.url <- paste0("https://api.twitter.com/1.1/lists/members.json?slug=",
twlist, "&owner_screen_name=", twowner, "&count=5000")
对于我尝试过的任何 twlist 或 twowner,此 URL 似乎无效。
编辑:问题来自我认为的身份验证
{"errors":[{"code":215,"message":"Bad Authentication data."}]}
我想我已经通过这个验证了
## Twitter authentication,
consumer_key = "xxxxx"
consumer_secret = "xxx"
access_token = "xxxxx"
access_secret = "xxx"
setup_twitter_oauth(consumer_key, consumer_secret, access_token,
access_secret)
问题出在哪里?
编辑:当我输入 get_oauth_sig() 我得到下面的结果
> twitteR:::get_oauth_sig()
<Token>
NULL
<oauth_app> twitter
key: XXXXXXX
secret: <hidden>
<credentials> oauth_token, oauth_token_secret
---
这正常吗?
编辑:我通过将 POST 替换为 GET 来解决问题
library(rjson)
library(twitteR)
consumer_key = "xxxxx"
consumer_secret = "xxx"
access_token = "xxxxx"
access_secret = "xxx"
setup_twitter_oauth(consumer_key, consumer_secret, access_token,
access_secret)
https://twitter.com/ivalerio/lists/justice?lang=fr
twlist <- "d-put-s-2017-2022"
twowner <- "ivalerio"
api.url <- paste0("https://api.twitter.com/1.1/lists/members.json?slug=",
twlist, "&owner_screen_name=", twowner, "&count=5000")
response <- GET(api.url, config(token=twitteR:::get_oauth_sig()))
#Count = 5000 is the number of names per result page,
# which for this case simplifies things to one page.
# This returns a JSON response which we can read using fromJSON:
response.list <- fromJSON(content(response, as = "text", encoding = "UTF-8"))
# Now, we have a list where each element is the Twitter data of one Twitter-list member. To extract their names and user_names:
users.names <- sapply(response.list$users, function(i) i$name)
users.screennames <- sapply(response.list$users, function(i) i$screen_name)
# Which are:
head(users.names)