4

質問:OAuthハンドシェイクを実行するときにPINを手動で入力する必要がないようにする方法はありますか?

コンテキスト:ROAuthハンドシェイクを行うときに、リンクをたどって取得したPINを入力するように求められます。

rm(list=ls())
library("twitteR")
library("ROAuth")

Credentials <- OAuthFactory$new(
  consumerKey = "...",
  consumerSecret = "...",
  oauthKey = "...",
  oauthSecret = "...",
  requestURL = "https://api.twitter.com/oauth/request_token",
  authURL = "https://api.twitter.com/oauth/authorize",
  accessURL = "https://api.twitter.com/oauth/access_token")

Credentials$handshake(cainfo = system.file("CurlSSL", "cacert.pem", package = "RCurl"))

どの出力:

Credentials $ handshake(cainfo = system.file( "CurlSSL"、 "cacert.pem"、package = "RCurl"))接続を有効にするには、Webブラウザーで https://api.twitter.com/oauthにアクセスしてください。 / authorize?oauth_token = ...完了したら、提供されたPINを記録し、ここに入力します。

そして、PINを入力します。

新しいRセッションでスクリプトを実行するたびに、手動でブラウザを開いてPINを取得する必要があるため、この手順は避けたいと思います。このスクリプトを使用しているのは私だけです。

4

1 に答える 1

6

ハンドシェイクを実行した後、オブジェクトをファイルに保存できます...

save(Credentials, file="credentials.RData")

後日、load()を使用してファイルをプルし、元のCredentialsオブジェクトを使用できます。

于 2012-12-07T15:26:52.097 に答える