У меня есть приложение, которое синхронизируется с учетными записями Microsoft Outlook. Он работал очень хорошо в начале прошлой ночью, но в последнее время работать, чтобы проблема: каждый раз, когда я делаю вызов API я получаю эту ошибку:Что означает «Почтовая ящик Info Stale» при возврате из Microsoft Outlook Mail API?
{"error"=>{"code"=>"MailboxInfoStale", "message"=>"Mailbox info is stale."}}
Я знаю то, что почтовый ящик, который я m тестирование с не устарело, так как оно было посещено и использовано менее часа назад. Вот мой код:
# Get the emails between the user and the prospect
# We need to be aware of the user's MS email address, which is possible different than the one we have
# for them.
user_email = user_email || get_user_email(token, context)
if token
conn = Faraday.new(:url => "https://outlook.office.com") do |faraday|
faraday.response :logger
faraday.adapter Faraday.default_adapter
end
response = conn.get do |request|
request.url "/api/v2.0/Me/Messages?$search=%22from:#{prospect_email}%22&$top=20"
request.headers['Authorization'] = "Bearer #{token['token']}"
request.headers['Accept'] = 'application/json'
request.headers['X-AnchorMailbox'] = user_email
end
# Okay, this is great: MS tells us to JSON parse what they return, but whether or not they return valid JSON depends on the state of the
# data that you request, so we'll force it by wrapping it in '[]'.
parsed_response = JSON.parse("[#{response.body}]")
if parsed_response[0]["value"].blank?
# Returns an empty array because we're combining this method and #get_emails in API::ActivitiesController
return []
else
messages = parsed_response[0]["value"]
end
end
Почему MS вернуть MailboxInfoStale
?