在 Rails 中获取 eBay 时间

发布于 2025-01-08 15:24:11 字数 1154 浏览 3 评论 0原文

我一直在四处寻找如何从 eBay 上打发时间。 我不想使用 SAVON 因为...它不起作用..

所以我尝试使用 net/http,只是为了获得时间。 (目前)

这是我到目前为止所得到的。

 def get_ebay_time
require "net/http"
require "uri"

devName = 000000000
appName = 000000000
certName = 000000000
authToken = 0000000000

url = URI.parse("https://api.ebay.com/ws/api.dll")

req = Net::HTTP::Post.new(url.path)
req.add_field("X-EBAY-API-COMPATIBILITY-LEVEL", "759")
req.add_field("X-EBAY-API-DEV-NAME", devName)
req.add_field("X-EBAY-API-APP-NAME", appName)
req.add_field("X-EBAY-API-CERT-NAME", certName)
req.add_field("X-EBAY-API-SITEID", "0")
req.add_field("X-EBAY-API-CALL-NAME", "GeteBayOfficialTime")

req.body = '<?xml version="1.0" encoding="utf-8"?>'+
            '<GeteBayOfficialTimeRequest xmlns="urn:ebay:apis:eBLBaseComponents">'+
            '<RequesterCredentials>'+
            "<eBayAuthToken>#{authToken}</eBayAuthToken>"+
            '</RequesterCredentials>'+
            '</GeteBayOfficialTimeRequest>?'

http = Net::HTTP.new(url.host, url.port)
res = http.start do |http_runner|
  http_runner.request(req)
end
return res.body
end

I've been looking around a bit for how to get the time off of ebay..
I don't want to use SAVON because... well it didn't work..

So I'm trying to use net/http, just to get the time. (for now)

Here's what I got so far.

 def get_ebay_time
require "net/http"
require "uri"

devName = 000000000
appName = 000000000
certName = 000000000
authToken = 0000000000

url = URI.parse("https://api.ebay.com/ws/api.dll")

req = Net::HTTP::Post.new(url.path)
req.add_field("X-EBAY-API-COMPATIBILITY-LEVEL", "759")
req.add_field("X-EBAY-API-DEV-NAME", devName)
req.add_field("X-EBAY-API-APP-NAME", appName)
req.add_field("X-EBAY-API-CERT-NAME", certName)
req.add_field("X-EBAY-API-SITEID", "0")
req.add_field("X-EBAY-API-CALL-NAME", "GeteBayOfficialTime")

req.body = '<?xml version="1.0" encoding="utf-8"?>'+
            '<GeteBayOfficialTimeRequest xmlns="urn:ebay:apis:eBLBaseComponents">'+
            '<RequesterCredentials>'+
            "<eBayAuthToken>#{authToken}</eBayAuthToken>"+
            '</RequesterCredentials>'+
            '</GeteBayOfficialTimeRequest>?'

http = Net::HTTP.new(url.host, url.port)
res = http.start do |http_runner|
  http_runner.request(req)
end
return res.body
end

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

烟沫凡尘 2025-01-15 15:24:11

API 包装器的开发是为了提供帮助:)

请使用 eBay4r 以及 github 上的相同内容:up_the_irons/ebay4r

  require 'rubygems'
  gem 'ebay'

  # Put your credentials in this file
  load('myCredentials.rb')

  # Create new eBay caller object.  Omit last argument to use live platform.
  eBay = EBay::API.new($authToken, $devId, $appId, $certId, :sandbox => true)

  resp = eBay.GeteBayOfficialTime

  puts "Hello, World!"
  puts "The eBay time is now: #{resp.timestamp}"

APIs wrappers are developed to help :)

Please use eBay4r and same on github: up_the_irons/ebay4r

  require 'rubygems'
  gem 'ebay'

  # Put your credentials in this file
  load('myCredentials.rb')

  # Create new eBay caller object.  Omit last argument to use live platform.
  eBay = EBay::API.new($authToken, $devId, $appId, $certId, :sandbox => true)

  resp = eBay.GeteBayOfficialTime

  puts "Hello, World!"
  puts "The eBay time is now: #{resp.timestamp}"
感性 2025-01-15 15:24:11

我并没有像我想象的那样花很长时间找到这个。

在底部,我添加了 SSL 处理

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = 0
res = http.start do |http_runner|
  http_runner.request(req)
end
return res.body

it didn't take me as long to find this as I thought.

in the bottom bit, I added SSL handling

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = 0
res = http.start do |http_runner|
  http_runner.request(req)
end
return res.body
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文