这可能是一个非常愚蠢的问题,但是您如何确定传递给客户端“discovered_api”调用的参数?然后执行的“api_method”是什么
例如,我正在尝试调用 Admin SDK 用户列表调用,即“GET https://www.googleapis.com/admin/directory/v1/users ”。
似乎没有明确的方法可以从 API 参考中提取它,或者我只是在错误的地方寻找?
这可能是一个非常愚蠢的问题,但是您如何确定传递给客户端“discovered_api”调用的参数?然后执行的“api_method”是什么
例如,我正在尝试调用 Admin SDK 用户列表调用,即“GET https://www.googleapis.com/admin/directory/v1/users ”。
似乎没有明确的方法可以从 API 参考中提取它,或者我只是在错误的地方寻找?
我误解了原来的问题。我仍然认为另一篇文章可能很有价值,所以我想我会添加一个新答案。
我进行了一些实验,这将显示标题、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
我有这个确切的问题。对于像 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
我希望这会有所帮助。
詹姆士