Ruby 获取一组任务的受让人

Ruby 获取一组任务的受让人,ruby,asana,Ruby,Asana,我正在开发一个工具,根据一些标准将一系列任务分配给一个人。 我获取给定标记的任务。 我只会在任务没有指定人的情况下将任务分配给一个人 我的问题来自最后一句话。获取任务列表不能提供足够的信息。浏览文档时,我记得我可以使用需要使用的字段格式化响应,但我没有成功地实现它 我有一段代码: # set up HTTPS connection uri = URI.parse("https://app.asana.com/api/1.0/tags/8232053093879/tasks?opt_fields=

我正在开发一个工具,根据一些标准将一系列任务分配给一个人。 我获取给定标记的任务。 我只会在任务没有指定人的情况下将任务分配给一个人

我的问题来自最后一句话。获取任务列表不能提供足够的信息。浏览文档时,我记得我可以使用需要使用的字段格式化响应,但我没有成功地实现它

我有一段代码:

# set up HTTPS connection
uri = URI.parse("https://app.asana.com/api/1.0/tags/8232053093879/tasks?opt_fields=name,assignee")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_PEER

# set up the request
header = { "Content-Type" => "application/json" }
request = Net::HTTP::Get.new(uri.path, header)
request.basic_auth(AppConfig[:api_key], '')

# issue the request
response = http.start { |h| h.request(request) }

# output
body = JSON.parse(response.body)
它不断作出回应:

{"id"=>8232053093904, "name"=>"Implement open VPN"}
{"id"=>8232053093899, "name"=>"Implement a @emi tool for random task affectation."}
{"id"=>8232053093893, "name"=>"List possibilities for internal server hosting ?"}
{"id"=>8232053093890, "name"=>"Create a server FAQ (how to access, how to restart an app, how to set up a new server)"}
{"id"=>8232053093883, "name"=>"Help alban debug munin configuration (server monitoring tool)"}
{"id"=>8232053093876, "name"=>"Think how to improve nanoc deployment"}
而使用curl:

curl -u 8NYknPS.aMxj55LsWwwujpZgNqQ078xf: "https://app.asana.com/api/1.0/tags/8232053093879/tasks?opt_fields=name,assignee"
我得到:

{"data":[
  {"id":8232053093904,"name":"Implement open VPN","assignee":null},
  {"id":8232053093899,"name":"Implement a @emi tool for random task affectation.","assignee":null},
  {"id":8232053093893,"name":"List possibilities for internal server hosting ?","assignee":{"id":1069528343983}},
  {"id":8232053093890,"name":"Create a server FAQ (how to access, how to restart an app, how to set up a new server)","assignee":null},
  {"id":8232053093883,"name":"Help alban debug munin configuration (server monitoring tool)","assignee":{"id":1069528343983}},
  {"id":8232053093876,"name":"Think how to improve nanoc deployment","assignee":{"id":753180655981}}
]}

我遗漏了什么?

您可能需要提供嵌套字段,如
?opt_fields=name,assignment,assignment.id
——不幸的是,它有点笨重。但是如果您只需要整个受让人,您可以使用
?opt_expand=assignee

希望有帮助