Spark Api GET/POST 使用 Ruby 请求数据

Spark Api GET/POST request data using Ruby

如何编写一个脚本来按 ID 检索列表并将其保存到文件中 JSON:http://sparkplatform.com/docs/api_services/listings

如何编写创建新联系人记录的脚本,然后打印新联系人的记录(标准输出就可以):http://sparkplatform.com/docs/api_services/contacts

SPARK_APIGemgithub页面回答问题: https://github.com/sparkapi/spark_api(提供自动解析器)

代码

SparkApi.client.get  "/listings/#{listing_id}", :_expand => "CustomFields"
SparkApi.client.post "/listings/#{listing_id}/contacts

我是 Ruby 的新手,我该如何正确使用 GET/POST 请求?

安装ruby、运行gem install spark_api

这是根据文档的脚本:

当然,你需要一个SPARK_API_KEY和SPARK_API_SECRET, 它不应该是代码的一部分,而是放在 ENV 中的某个地方。

require 'spark_api'
SparkApi.configure do |config|
  config.endpoint   = 'https://sparkapi.com'
  # Using Spark API Authentication, refer to the Authentication documentation for OAuth2
  config.api_key    = 'SPARK_API_KEY'
  config.api_secret = 'SPARK_API_SECRET'
end

listing_id = 12345
filename = 'my_file.json'

def get_listing(listing_id, filename)
  response = SparkApi.client.get "/listings/#{listing_id}", :_expand => "CustomFields"
  save_to_file(response, filename)
end

def create_contact(listing_id)
  SparkApi.client.post "/listings/#{listing_id}/contacts"
end

def save_to_file(response, filename)
  File.open(filename, 'w') do |f|
    f << response.body
  end
end

您当然可以使用像 faraday or httparty 这样的 HTTP 客户端来完成工作,但是使用 Gem 可以包装所有 api 逻辑。