0

twitteR パッケージの使用に問題があります。ROAuth で登録を行っても、まだくだらないことができないからです。ここに私の入力/出力があります

setwd("C:/")
download.file(url="http://curl.haxx.se/ca/cacert.pem", destfile="cacert.pem")
cred <- OAuthFactory$new(consumerKey=HIDDEN,
                     consumerSecret=HIDDEN,
                     requestURL="https://api.twitter.com/oauth/request_token",
                     accessURL="http://api.twitter.com/oauth/access_token",
                     authURL="http://api.twitter.com/oauth/authorize")
cred$handshake(cainfo = system.file("CurlSSL", "cacert.pem", package = "RCurl") )

registerTwitterOAuth(cred)

結果は次のとおりです。

> cred$handshake(cainfo = system.file("CurlSSL", "cacert.pem", package = "RCurl") )
To enable the connection, please direct your web browser to: 
http://api.twitter.com/oauth/authorizeoauth_token=MNjWmBE7QzodHlK8yeyZC559iunb8urA8cGLamww
When complete, record the PIN given to you and provide it here:

> registerTwitterOAuth(cred)
[1] TRUE

しかし、私が何かをしようとすると:

> rate.limit <- getCurRateLimitInfo( cainfo="cacert.pem")
[1] "Unauthorized"
Error in twInterfaceObj$doAPICall("application/rate_limit_status", params = params,  : 
  Error: Unauthorized

まだ Unauthorized エラーが発生します。

ここで私は正確に何をすべきですか?

ところで、私の sessionInfo() が添付されています:

R version 2.15.1 (2012-06-22)
Platform: x86_64-pc-mingw32/x64 (64-bit)

locale:
[1] LC_COLLATE=English_United States.1252 
[2] LC_CTYPE=English_United States.1252   
[3] LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C                          
[5] LC_TIME=English_United States.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] plyr_1.7.1     stringr_0.6.1  ROAuth_0.9.2   digest_0.5.2  
[5] twitteR_1.1.0  rjson_0.2.12   RCurl_1.95-4.1 bitops_1.0-4.1

loaded via a namespace (and not attached):
[1] tools_2.15.1
4

2 に答える 2

1

私は同じ問題を抱えていて、「R の Twitter クライアント」マニュアル ( http://cran.r-project.org/web/packages/twitteR/vignettes/twitteR.pdf ) をもう一度読みました。OAuth による認証セクションで次の段落を見つけました。

「最初のステップは、自分用の Twitter アプリケーションを作成することです。https://twitter.com/apps/newにアクセスしてログインします。基本情報を入力したら、 [設定] タブに移動し、[読み取り、書き込み] を選択します。ダイレクトメッセージにアクセスする」. これを行った後、必ず保存ボタンをクリックしてください。

次に、アプリの許可を変更しましたが、うまくいきました。

于 2013-04-24T06:59:22.953 に答える
0

新しいアプリを作成し、Twitter の設定に電話番号を追加し、github から最新の twitteR パッケージをインストールし、次のコマンドで httr を介して認証することで、同じ問題を解決しました。

setup_twitter_oauth(consumer_key=consumerKey, consumer_secret=consumerSecret, access_token=accessToken, access_secret=accessSecret)
于 2015-01-22T00:20:41.530 に答える