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

Introduction to Twitter's API Forum

View Course » View Exercise

1096 points
Picture
Submitted by
Alex Fine
over 3 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 = "https://api.twitter.com"
    path    = "/1.1/statuses/show.json"
    query   = URI.encode_www_form("id" => "266270116780576768")
    address = URI("#{baseurl}#{path}?#{query}")
    request = Net::HTTP::Get.new address.request_uri

    # Print data about a Tweet
    def print_tweet(tweet)
      puts tweet["user"]["name"] + " - " + tweet["text"]
    end
    # Set up HTTP.
    http             = Net::HTTP.new address.host, 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 ||= OAuth::Consumer.new "ENTER IN EXERCISE 1", ""
    access_token ||= OAuth::Token.new "ENTER IN EXERCISE 1", ""

    # Issue the request.
    request.oauth! http, consumer_key, access_token
    http.start
    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)
      print_tweet(tweet)
    end

Can someone tell me what I'm doing wrong?


-4 votes

permalink

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

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

Modify accordingly

1328 points
F7e9b1c5e5ac365258bb876c11e66869?s=140&d=retro
Submitted by
Devan Rajkumar
almost 3 years ago