【发布时间】:2017-01-06 18:39:16
【问题描述】:
我正在使用法拉第,并设置了从授权帐户获取消息的设置。我可以毫无问题地抓取收到的消息,但是当我去抓取已发送的消息时,当我知道该帐户已发送消息时,我得到一个空响应。
基本上,我需要的是检索用户发送的电子邮件列表。
这就是我正在做的事情:
from_conn = Faraday.new(:url => "https://outlook.office.com") do |faraday|
faraday.response :logger
faraday.adapter Faraday.default_adapter
end
# Then from:
from_response = from_conn.get do |request|
request.url "/api/v2.0/Me/Messages?$search=%22from:#{user_email}%22&$select=SentDateTime,ToRecipients,From,Subject,Body"
request.headers['Authorization'] = "Bearer #{token['token']}"
request.headers['Accept'] = 'application/json'
request.headers['X-AnchorMailbox'] = user_email
end
这是解析后的响应正文:
[
[0] {
"@odata.context" => "https://outlook.office.com/api/v2.0/$metadata#Me/Messages(SentDateTime,ToRecipients,From,Subject,Body)",
"value" => []
}
]
它正在生成一个https://outlook.office.com/api/v2.0/Me/Messages?%24search=%22from%3Adr_dickdorkins%40outlook.com%22&%24select=SentDateTime%2CToRecipients%2CFrom%2CSubject%2CBody的请求URI。
我尝试过像这样在 SentItems 文件夹中搜索:
request.url "/api/v2.0/Me/Folders/SentItems$search=%22sender:#{user_email}%22"
但是我想到的搜索文件夹的任何排列都会产生这个错误:
[0] {
"error" => {
"code" => "RequestBroker-ParseUri",
"message" => "Resource not found for the segment 'Folders'."
}
}
我不太确定还有什么可以尝试的——感谢任何帮助!
【问题讨论】:
标签: ruby-on-rails office365 faraday