0

Twitter API を調べています。

RでROAuthandパッケージを使用しています。twitteR

私は物事がうまくいっていると思うポイントに到達します:

To enable the connection, please direct your web browser to: 
https://api.twitter.com/oauth/authorize?oauth_token=XXXXX
When complete, record the PIN given to you and provide it here: XX

ここまでは順調ですね。これで、いくつかの Twitter タイムラインを表示する準備が整いました。

> my_tweets <- userTimeline('someTimeline')

残念ながら、私は得る:

Error in InterfaceObj$doAPICall(cmd, params, method, ...) : 
  OAuth authentication is required with Twitter's API v1.1

これが何を意味するのか調べてみました。私のOAuth認証は適切な気がします。このエラーが発生するのはなぜですか?

使用している API のバージョンに問題はありますか?

4

2 に答える 2

2

次の手順を実行できます。

reqURL <- "https://api.twitter.com/oauth/request_token"
accessURL <- "https://api.twitter.com/oauth/access_token"
authURL <- "https://api.twitter.com/oauth/authorize"
consumerKey <- "Mjn6tdsadsadkasdklad2SV1l"
consumerSecret <- "58Z7Eldsdfaslkf;asldsaoeorjkfksaVCQtvri"
twitCred <- OAuthFactory$new(consumerKey=consumerKey,
                             consumerSecret=consumerSecret,
                             requestURL=reqURL,
                             accessURL=accessURL,
                             authURL=authURL)
twitCred$handshake()

このコードを実行すると、次のような R コンソール メッセージが表示されます。

To enable the connection, please direct your web browser to: 
https://api.twitter.com/oauth/authorize?oauth_token=scmVODruosvz6Tdsdadadasdsa
When complete, record the PIN given to you and provide it here:

リンクをブラウザーに貼り付けてからアプリを承認するだけです。最後に PIN コードを取得します。PIN コードをコピーして R コンソールに貼り付けるだけです。

registerTwitterOAuth(twitCred)

成功すると、R コンソールに TRUE が表示されます。

user <- getUser("xxx")
userTimeline(user, n=20, maxID=NULL, sinceID=NULL, includeRts=FALSE)

それでも問題が解決しない場合は、パッケージのバージョンを表示して最新バージョンに更新してみてください

sessionInfo()
update.packages("twitteR")

twitteR の最終バージョンは 1.1.7 => http://cran.r-project.org/web/packages/twitteR/index.html

于 2014-05-27T06:36:09.137 に答える
1

アクセス(別名ハンドシェイク)に成功したようです。ハンドシェイク コードは次の行のようになると思います。

Cred$handshake(cainfo = system.file("CurlSSL", "your_certificate.pem", package = "RCurl") )

次に、あなたが成功したと言っている次の行を使用して Twitter OAuth を登録したとします。

registerTwitterOAuth(Cred)

次に、userTimelineに、前に作成したpemファイルを含める必要があります。

my_tweets <- userTimeline('someTimeline', cainfo="your_certificate.pem", n=200)
于 2014-03-12T07:17:45.247 に答える