如何解析用户对象以返回屏幕名称并继续下一步操作
How can i parse a user object to return a screen name and move on to my next step?
我正在学习代码cademy,我正在rubygem中学习twittrapi的第二步(我认为它被调用了)。。。我轻松完成了第一步。这是第二节课的内容。。。
verify_credentials.json端点的响应包含成功请求的身份验证用户的json编码表示。现在您将解析API响应并打印出当前用户的屏幕名称。
添加用于将HTTP响应解码为Ruby对象的代码。为此:
说明(这些是他们的说明)
添加json包的依赖项(哪个json包?)访问HTTP响应主体(我该怎么做?)解码JSON编码的响应请确保将解析的响应分配给用户变量!?
(我甚至读了他们给我的提示……在下面)
提示
可以通过将require"添加到源文件的顶部来添加依赖项。(我应该添加什么包?)
响应变量将具有一个名为body的属性,该属性包含HTTP响应的文本。
您可以调用JSON.parse来解码JSON编码的字符串。此方法返回一个已解码的对象。
我尝试了我认为正确的代码,但结果是不正确的。我需要输入什么才能使我的课程取得成功?下面是他们给我的代码:
require 'rubygems'
require 'oauth'
# Parse a response from the API and return a user object.
def parse_user_response(response)
user = nil
# Check for a successful request
if response.code == '200'
# Parse the response body, which is in JSON format.
# ADD CODE TO PARSE THE RESPONSE BODY HERE
user =
# Pretty-print the user object to see what data is available.
puts "Hello, #{user["screen_name"]}!"
else
# There was an error issuing the request.
puts "Expected a response of 200 but got #{response.code} instead"
end
user
end
# All requests will be sent to this server.
baseurl = "https://api.twitter.com"
# Verify credentials returns the current user in the body of the response.
address = URI("#{baseurl}/1.1/account/verify_credentials.json")
# 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 previous
# 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 = Net::HTTP::Get.new address.request_uri
request.oauth! http, consumer_key, access_token
http.start
response = http.request(request)
user = parse_user_response(response)
请尽可能提供帮助。感谢您的时间和考虑。:)
您需要在代码开头[要求'json']。
您的用户名将被编码在response.body中,但您需要对其调用JSON.parse才能正确解码。
因此,你必须在#添加代码后回答,将回复正文置于此处:user=JSON.parse(response.body)
相关文章:
- 如何禁用在Bootstrap中不完成一步就转到下一步
- 将“下一步”和“上一个”按钮添加到较大的图像
- 引导表单向导 - 防止在提交 ajax 响应的每个页面表单出现错误时滚动到下一步
- 如何创建一个“下一步”按钮,使用 Java 脚本和 Twitter Bootstrap 切换选项卡
- 如何在单击下一步时使文本移动/更改
- 您如何控制在填写表单时单击下一步时 iOS/Android 将关注哪个字段
- Jquery UI选项卡-根据输入字段值,使用“下一步”/“上一步”按钮推进选项卡
- Jquery选项卡单击时高亮显示'下一步'按钮
- 如何解析用户对象以返回屏幕名称并继续下一步操作
- 如何点击谷歌饼图进入下一步行动
- 转到下一步时更改输入值
- 尝试在JavaScript中制作下一步按钮以显示JSON数组
- 跳转到 CasperJS 中步骤超时的下一步
- 如何在 UI 引导分页中禁用下一步按钮
- 等待几秒钟,然后再运行下一步量角器
- 如何在textField上使用zIndex,这样当我在Titanium中按下一步时,我可以移动到其他textField
- 到达最后一个元素时隐藏下一步按钮
- 通过单击“MVC 获取错误”中的“下一步”按钮 asp.net 在同一详细信息页面上显示记录
- 自定义 JS 图像查看器在每次按下“下一步”键后加载速度较慢
- 使“下一步”按钮从当前“数字”继续