Проверка подлинности OAuth с помощью API Twitter не удалась!
Я использовал пакеты R 'twitteR' и 'ROAuth' для доступа к API Twitter. Я попытался этот код R, чтобы зарегистрировать мой сеанс R:
tw<-OAuthFactory$new(consumerKey="mykeyhere",consumerSecret="mysecrethere",
requestURL="http://api.twitter.com/oauth/request_token",
accessURL="http://api.twitter.com/oauth/access_token",
authURL="http://api.twitter.com/oauth/authorize")
tw<-handshake()
Я использовал http вместо https, потому что последний дал мне ошибку при сбое сертификации SSL. Затем я ввожу PIN-код, полученный с данного URL и зарегистрированный в Twitter:
registerTwitterOAuth(tw)
Результат вышеупомянутой команды был:
[1] TRUE
Я думаю, что я успешно зарегистрировался с помощью OAuth. Однако, когда я пытался получить доступ к профилям защищенных пользователей, например,
getURL("http://api.twitter.com/1/followers/ids.json?cursor=-1&user_id=XXXXXXXX")
Я получил это:
[1] "{\"error\":\"Not authorized\",\"request\":\"\\/1\\/followers\\/ids.json?cursor=-1&user_id=XXXXXXXX\"}"
Я также проверил свою проверку с помощью:
getURL("http://api.twitter.com/1/account/verify_credentials.json")
И это был результат:
[1] "{\"error\":\"Could not authenticate you.\",\"request\":\"\\/1\\/account\\/verify_credentials.json\"}"
Не могли бы вы помочь мне, пожалуйста? Большое спасибо.
1 ответ
Вы должны использовать getUser(...)
,searchTwitter(...)
,tw$OAuthRequest(...)
и так далее вместо непосредственного использования getURL(...)
самостоятельно, потому что getURL()
не содержит контекст сеанса (который регистрируется с помощью registerTwitterOAuth
).