R: Connect to Twitter Streaming API and return a small random...

sampleStream {streamR} | R Documentation

## Connect to Twitter Streaming API and return a small random sample of all public statuses.

### Description

`sampleStream` opens a connection to Twitter's Streaming API that will return a small random sample of public statuses, around 1% at any given time.

### Usage

    sampleStream(file.name, timeout = 0, tweets = NULL, oauth = NULL,
      verbose = TRUE)

### Arguments

`file.name` | string, name of the file where tweets will be written. "" indicates output to the console, which can be redirected to an R object. If the file already exists, tweets will be appended (not overwritten).
`timeout` | numeric, maximum length of time (in seconds) of connection to stream. The connection will be automatically closed after this period. For example, setting `timeout` to 10800 will keep the connection open for 3 hours. The default is 0, which will keep the connection open permanently.
`tweets` | numeric, maximum number of tweets to be collected when function is called. After that number of tweets have been captured, function will stop. If set to `NULL` (default), the connection will be open for the number of seconds specified in `timeout` parameter.
`oauth` | an object of class `oauth` that contains the access token to the user's twitter session OR a list with details to create a new access token. See examples for more details.
`verbose` | logical, default is `TRUE`, which generates some output to the R console with information about the capturing process.

### Details

For more information, check the documentation at: https://developer.twitter.com/en/docs/tweets/sample-realtime/overview/GET_statuse_sample

Note that when no file name is provided, tweets are written to a temporary file, which is loaded in memory as a string vector when the connection to the stream is closed.

The total number of actual tweets that are captured might be lower than the number of tweets requested because blank lines, deletion notices, and incomplete tweets are included in the count of tweets downloaded.

### Author(s)

Pablo Barbera pablo.barbera@nyu.edu

### See Also

`filterStream`, `userStream`, `parseTweets`

### Examples

    ## Not run:
    ## capture a random sample of tweets
    sampleStream( file.name="tweets_sample.json", user=FOO, password=BAR )

    ## An example of an authenticated request using the ROAuth package,
    ## where consumerkey and consumer secret are fictitious.
    ## You can obtain your own at dev.twitter.com
     library(ROAuth)
     reqURL <- "https://api.twitter.com/oauth/request_token"
     accessURL <- "https://api.twitter.com/oauth/access_token"
     authURL <- "https://api.twitter.com/oauth/authorize"
     consumerKey <- "xxxxxyyyyyzzzzzz"
     consumerSecret <- "xxxxxxyyyyyzzzzzzz111111222222"
      my_oauth <- OAuthFactory$new(consumerKey=consumerKey,
        consumerSecret=consumerSecret, requestURL=requestURL,
        accessURL=accessURL, authURL=authURL)
     my_oauth$handshake(cainfo = system.file("CurlSSL", "cacert.pem", package = "RCurl"))

    ## Alternatively, it is also possible to create a token without the handshake:
     my_oauth <- list(consumer_key = "CONSUMER_KEY",
       consumer_secret = "CONSUMER_SECRET",
       access_token="ACCESS_TOKEN",
       access_token_secret = "ACCESS_TOKEN_SECRET")

     sampleStream( file.name="tweets_sample.json", oauth=my_oauth )

    ## End(Not run)

[Package streamR version 0.4.5 Index]