저는 패러데이를 사용 중이며 인증 된 계정에서 메시지를 가져올 수있는 설정을 가지고 있습니다. 들어오는 메시지를 잡는 데 아무 문제가 없지만 보낸 메시지를 가져 가면 계정에서 메시지를 보냈 음을 알 때 빈 응답이 표시됩니다.Office365 API v2로 인증 된 계정에서 보낸 전자 메일을 검색하려면 어떻게합니까?
기본적으로 내가 필요한 것은 사용자가 보낸 목록 전자 메일을 검색하는 것입니다.
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에서 검색을 시도했다 :
[0] {
"error" => {
"code" => "RequestBroker-ParseUri",
"message" => "Resource not found for the segment 'Folders'."
}
}
난 정말 모르겠어요 :
request.url "/api/v2.0/Me/Folders/SentItems$search=%22sender:#{user_email}%22"
하지만 폴더를 검색하는 생각 어떤 순열이 오류를 얻을 수 어떤 다른 시도 - 어떤 도움을 주시면 감사하겠습니다!
그게 전부 야! 사실 SO 패션에서 나는 질문을 올린 후 솔루션을 게시하려고했던 때와 동일한 솔루션을 발견했습니다. 당신은 확실히 맞습니다, 그것은 문서에 모두 있습니다, 나는 더 열심히보아야 만했습니다. – octopushugs
그런 일이 일어난다. 나는 어떤 사람들은 몇 년 전만해도 ... 같은 질문을 찾기 위해 질문을 게시했다고 주장했다고 생각한다. 건배! – mlabarca