2

这可能是一个非常愚蠢的问题,但是您如何确定传递给客户端“discovered_api”调用的参数?然后执行的“api_method”是什么

例如,我正在尝试调用 Admin SDK 用户列表调用,即“GET https://www.googleapis.com/admin/directory/v1/users ”。

似乎没有明确的方法可以从 API 参考中提取它,或者我只是在错误的地方寻找?

4

2 回答 2

7

我误解了原来的问题。我仍然认为另一篇文章可能很有价值,所以我想我会添加一个新答案。

我进行了一些实验,这将显示标题、id 以及它是否是首选。ID 有一个冒号,这似乎是您在调用 found_api 时分隔第一个和第二个参数的位置。

puts "Title \t ID \t Preferred"
client.discovered_apis.each do |gapi| 
  puts "#{gapi.title} \t #{gapi.id} \t #{gapi.preferred}"
end
于 2013-08-29T03:14:13.220 回答
4

我有这个确切的问题。对于像 get 这样的方法,我想通了。

创建您的客户端,然后执行以下操作

api = client.discovered_api("admin", "directory_v1")

puts "--- Users List ---"
puts api.users.list.parameters

puts "--- Users Get ---"
puts api.users.get.parameters

这将打印出参数。您也可以使用 api.users.get.parameter_descriptions

如果您尝试调查此类问题,可能会有所帮助的是打印所有可用的方法。我通常这样做。

puts api.users.insert.methods - Object.methods

如果您尝试使用该方法,您会发现 api.users.insert 在去掉每个对象共有的方法后具有以下方法。

discovery_document
api
method_base
method_base=
description
id
http_method
uri_template
media_upload
request_schema
response_schema
normalize_parameters
generate_uri
generate_request
parameter_descriptions
parameters
required_parameters
optional_parameters
validate_parameters

我希望这会有所帮助。

詹姆士

于 2013-08-28T04:23:48.027 回答