This forum is now read-only. Please use our new forums at

Introduction to Twitter's API Forum

View Course » View Exercise

1096 points
Submitted by
Alex Fine
about 4 years ago

I'm completely confused why this doesn't work

Here's my Code:

 require 'rubygems'
    require 'oauth'
    require 'json'  
    # Now you will fetch /1.1/statuses/show.json, which
    # takes an 'id' parameter and returns the
    # representation of a single Tweet.
    baseurl = ""
    path    = "/1.1/statuses/show.json"
    query   = URI.encode_www_form("id" => "266270116780576768")
    address = URI("#{baseurl}#{path}?#{query}")
    request = address.request_uri

    # Print data about a Tweet
    def print_tweet(tweet)
      puts tweet["user"]["name"] + " - " + tweet["text"]
    # Set up HTTP.
    http             =, address.port
    http.use_ssl     = true
    http.verify_mode = OpenSSL::SSL::VERIFY_PEER

    # If you entered your credentials in the first
    # exercise, no need to enter them again here. The
    # ||= operator will only assign these values if
    # they are not already set.
    consumer_key ||= "ENTER IN EXERCISE 1", ""
    access_token ||= "ENTER IN EXERCISE 1", ""

    # Issue the request.
    request.oauth! http, consumer_key, access_token
    response = http.request request

    # Parse and print the Tweet if the response code was 200
    tweet = nil
    if response.code == '200' then
      tweet = JSON.parse(response.body)

Can someone tell me what I'm doing wrong?

-4 votes


Take a look at the puts on line 40 of 5/5:

puts "Successfully sent #{tweet["text"]}"

Modify accordingly

1328 points
Submitted by
Devan Rajkumar
almost 4 years ago