[英]R - Twitter - OAuth - REST API - User cannot be authenticated
我有以前用于验证我身份的代码,但现在不再有效。 我错过了什么变化吗?
我认证的方式如下
library(httr)
options(httr_oauth_cache=TRUE)
myKey = "x123y456z789"
mySecret = "a987b654c321"
myToken = "abc123456def"
tokenSecret = "zxy987654"
myapp = oauth_app("Twitter", key=myKey, secret=mySecret)
sig = sign_oauth1.0(myapp, token=myToken, token_secret=tokenSecret)
我建立了一个简单的搜索查询来进行测试
BASE = "https://api.twitter.com/1.1/search/tweets.json?"
query = "q=13+Reasons+Why"
url = paste( BASE, query, sep="")
这使得最终的基本URL没有日期,时间,推特限制等。
url="https://api.twitter.com/1.1/search/tweets.json?q=13+Reasons+Why"
GET(url, sig)
返回
Response [https://api.twitter.com/1.1/search/tweets.json?q=13+Reasons+Why]
Date: 2017-05-13 19:42
Status: 401
Content-Type: application/json; charset=utf-8
Size: 64 B
包装内容
content( GET(url, sig) )
告诉我
$errors[[1]]$message
[1] "Could not authenticate you."
我检查了我所有的令牌,秘密等是否正确,查询是如此简单,以至于我不确定它可能出问题的地方。
这似乎工作正常:
library(httr)
myKey = "x123y456z789:"
mySecret = "a987b654c321"
myapp = oauth_app("Twitter", key=myKey, secret=mySecret)
token = oauth1.0_token(app = myapp, endpoint = oauth_endpoints("twitter"))
BASE = "https://api.twitter.com/1.1/search/tweets.json"
q = "13 Reasons why"
res <- GET(BASE, config(token = token), query = list(q=q))
t(sapply(content(res)$statuses[1:3], "[", c("created_at", "text")))
# created_at text
# [1,] "Sat May 13 19:58:03 +0000 2017" "Stuck on episode 11 of 13 reasons why I don't have the heart to finish it it's so sad <f0><U+009F><" [truncated]
# [2,] "Sat May 13 19:58:01 +0000 2017" "RT @SelenaGomezNews: New photo of Selena Gomez on set of '13 Reasons Why'. "
# [3,] "Sat May 13 19:58:00 +0000 2017" "RT @lockscreenbabes: <U+2615> katherine langford and dylan minette (13 reasons why) lockscreen <U+2" [truncated]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.