【发布时间】:2017-03-07 20:32:58
【问题描述】:
有没有一种简单的方法可以让 google api ruby 客户端只给你返回原始的 HTTP 响应,而不是执行可爱但略微限制的转换为他们的 ruby 可表示对象之一?
例如
response = Gmail.client.get_user_message("me", id)
=> #<Google::Apis::GmailV1::Message
response = Gmail.client.list_user_messages("me")
=> #<Google::Apis::GmailV1::ListMessagesResponse
但是
response = Gmail.client.delete_user_message("me", id)
=>nil #successfully deleted
现在这一切都很好,很花哨,只是有时我只是想知道会得到什么样的回应。即在正文中可能带有一些 JSON 的 HTTP 响应。然后我会担心我会用它做什么......
我可以接受响应并使用
response.to_json
获取将返回的 json 的主体(尽管我仍然没有响应代码,我需要首先知道它是这些对象之一)。
客户端库肯定会做到这一点,它只是在让我看到它之前将其转换为这些对象。如果我不知道它是一个 google 对象(而不是 nil),我就不能始终如一地运行那个 to_json ......
除了第二次猜测谷歌会发给我什么之外,还有什么想法吗? (我应该注意到,这是在尝试将库从处理他们的 0.8 api 移动到他们的 0.9 api 时发生的,所以如果你必须称我为愤世嫉俗者,但我相信谷歌不会对返回的那些对象进行重大更改是处于低潮...
【问题讨论】:
标签: ruby google-api gmail-api google-api-ruby-client