`
kukuqiu001
  • 浏览: 210618 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

使用ruby调用 淘宝开放平台taobao.user.get接口

阅读更多
在javaeye上有一篇关于ruby调用淘宝开放平台的文章
http://www.iteye.com/topic/307081
这篇文章是调用平台1.0版本
现在淘宝平台已经升级到2.0版了,一些算法已经改变了

为了方便后来者,写了这篇文章
调用是使用的淘宝沙盒API
其中的app_key、 nick 为你自己的在沙盒上申请或者沙盒自带的 ,已经用######表示了
其中的App_Secret 已经用******************表示
这3个值需要用户自己填入

调用的是taobao.user.get方法, 返回该用户的用户信息


如果大家觉得这篇文章有用,就拍个我的移动联通话费哈
小店刚开,只赚信誉,全部保本或亏钱卖的哈
http://suchongchong.taobao.com/


require 'digest/md5'
require 'net/http'
require 'uri'
 
url2 = 'http://gw.api.tbsandbox.com/router/rest?'
p ={app_key: '########', method: 'taobao.user.get', 
	format: 'xml', nick: '#########', 
	fields: 'user_id,uid,nick,sex,buyer_credit,seller_credit,location,created,last_visit,birthday,type,status,alipay_no,alipay_account,alipay_account,email,consumer_protection,alipay_bind', 
	v: '2.0', timestamp: (Time.now).strftime("%Y-%m-%d %H:%M:%S"),
	sign_method: 'md5'}
	
#构造签名算法
puts p.sort.flatten.join
string = "*****************"<<p.sort.flatten.join<<"******************"
puts Digest::MD5.hexdigest(string).upcase
p["sign"] = Digest::MD5.hexdigest(string).upcase


#构造Get链接
string2 = ""
p.each { |k, v| string2<<k.to_s<<'='<<URI.escape(v.to_s).to_s<<'&'  }
url2 = url2<<string2[0..-2]
puts url2

#发送GET链接,取得返回值
res = Net::HTTP.get_response(URI.parse(url2))
puts res.body

分享到:
评论

相关推荐

    Ruby-httparty让http有趣

    user_data = client.get_user(123) ``` 在这个例子中,`base_uri`定义了API的基础URL,`get`方法用于发送GET请求,`parsed_response`则将返回的HTTP响应体转换为Ruby对象(通常为JSON)。 httparty还支持POST请求...

    获取浏览器类型及平台信息ruby

    根据给定的信息,本文将详细解释如何通过 Ruby 语言来获取客户端浏览器的类型以及平台信息。这种方法对于开发 Web 应用程序来说非常有用,因为了解用户的浏览器和操作系统可以帮助开发者优化用户体验,确保应用在...

    RunkeeperHealthGraphAPI的Ruby包装器-Ruby-下载

    4. **访问API**:通过客户端对象调用方法,如`get_user`获取用户基本信息,或者`get_activities`获取用户的运动记录。 5. **处理数据**:解析返回的数据,根据需要进行存储、分析或展示。 总的来说,Runkeeper ...

    Ruby-PatronRuby基于libcurl的HTTP客户端

    在Ruby编程中,Patron提供了高效、灵活的接口,使得开发者可以方便地发送GET、POST、PUT等HTTP方法,同时支持HTTPS、cookies、自动重定向、HTTP连接管理等多种特性。 1. **libcurl介绍**: libcurl是跨平台的开源...

    Ruby-Her一个ORM对象关系映射将REST资源映射成Ruby对象

    6. **链式调用**:Her的API设计鼓励使用链式调用来构建复杂的查询,例如 `User.where(name: "John").first`。 7. **异步操作**:Her可以与ActiveSupport::Notifications集成,实现非阻塞的异步API调用,提高应用...

    第六十七课:meterpreter下的irb操作第一季1

    总之,本课程重点介绍了在Meterpreter下使用irb进行Windows环境下的高级操作,包括但不限于系统信息收集、网络接口信息查看以及直接调用Windows API。这些技术在渗透测试和安全研究中有着广泛的应用,同时对于防御方...

    ruby 例子 模仿rails 的 mvc

    Ruby是一种面向对象的编程语言,以其简洁和优雅的语法著称。在Web开发领域,Ruby与Rails框架的组合尤其受到欢迎。Rails遵循Model-View-Controller(MVC)设计模式,这种模式是软件工程中用于组织应用程序代码的一种...

    在不使用Devise的情况下在RubyonRails中实现API密钥.zip

    在Ruby on Rails框架中,开发API时通常会使用如Devise这样的身份验证库来处理用户认证。然而,有时我们可能需要自己实现API密钥的管理,以满足特定的需求或者避免引入额外的依赖。本教程将深入讲解如何在不使用...

    第六十七课:meterpreter下的irb操作第一季.docx

    在IT安全领域,Meterpreter是一种强大的渗透测试工具,它基于Ruby语言构建,是Metasploit框架的一部分。Meterpreter提供了一种交互式的会话环境,允许攻击者在目标系统上执行各种高级操作。本课程主要讲解了如何在...

    ruby-tcc:霍尼韦尔Total Connect Comfort移动API的Ruby Wrapper

    Ruby-tcc 霍尼韦尔Total Connect Comfort API的Ruby客户端。 安装 在您的Gemfile中: ... 接下来,可以使用客户端对象进行调用以使用API​​。 client . get_locations 当前支持的API AuthenticateUserLogin

    JAVA上百实例源码以及开源项目源代码

    演示Address EJB的实现 ,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口函数得到远程...

    Ruby中Time对象的常用函数总结

    ### Ruby中Time对象的常用函数总结 在Ruby编程语言中,`Time`对象是一个非常重要的类,用于处理日期和时间相关的操作。本文将详细介绍`Time`对象的一些常见且实用的方法和函数,帮助开发者更好地理解和应用这些功能...

    servant-ruby:从您的仆人 API 生成 Ruby 客户端!

    Servant-Ruby是Servant的一个扩展,它提供了一种机制,可以将由Servant定义的API导出为Ruby代码,生成的客户端库可以直接在Ruby应用中使用,使得调用API就像操作本地对象一样简单。这个过程极大地简化了API的使用,...

    实例16 如何获取当前程序所在的文件夹

    在Java中,可以使用`java.lang.ClassLoader`类的`getResource`或`getResourceAsStream`方法,结合`java.io.File`类来获取当前执行JAR的路径。如果想要获取启动目录,可以使用`System.getProperty("user.dir")`。 5...

    RubyonRails实践

    你可以通过Ruby安装器(RubyInstaller)在Windows上安装,或者在macOS和Linux系统中使用包管理器如Homebrew或apt-get。一旦安装了Ruby,就需要使用gem(Ruby的包管理器)来安装Rails: 1. 首先更新gem: ``` gem ...

    后端开发教程、案例与项目实践(后端开发是一个涉及多个领域的综合性工作)

    最后调用 `userService.updateUser()` 方法更新数据库中的用户信息。 ## 三、后端开发项目实践 ### 1. 项目规划 在开始任何开发工作之前,首先要明确项目需求并进行详细的规划。这包括: - **需求分析**:与客户...

    node.js express块

    Express.js 是 Node.js 平台上的一款强大的开源Web应用程序框架,它为构建高效、简洁的网络应用提供了便利。Express 的设计思想深受 Ruby on Rails 框架的影响,强调了代码的简洁性和可读性,使得开发者能够快速地...

Global site tag (gtag.js) - Google Analytics