This forum is now read-only. Please use our new forums! Go to forums

0 points
Submitted by Alex Fine
over 10 years

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?

Answer 53815839548c35a6e7002225

-4 votes

Permalink

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

puts “Successfully sent #{tweet[“text”]}”

Modify accordingly

points
Submitted by Devan Rajkumar
almost 10 years