У меня возникли проблемы с выяснением того, как использовать office365 api для получения сообщений с данными conversationId
.Извлечь сообщения, отфильтрованные в результате разговора, через API Office365
Скажем, мой conversationId является AAQkADlkOGJmMTFmLTc2NjMtMKL3My04ZDhkLTVmZWNjMzA1ODY0NAAQAB11Xh2opSpBiXifMEJjhow=
Я сделаю запрос как
https://outlook.office.com/api/v1.0/me/Messages?$filter=ConversationId%20eq%20AAQkADlkOGJmMTFmLTc2NjMtMKL3My04ZDhkLTVmZWNjMzA1ODY0NAAQAB11Xh2opSpBiXifMEJjhow=
Это приводит к 400
ответ, как это:
{
"error": {
"code": "RequestBroker-ParseUri",
"message": "Syntax error at position 98 in 'ConversationId eq AAQkADlkOGJmMTFmLTc2NjMtMKL3My04ZDhkLTVmZWNjMzA1ODY0NAAQAB11Xh2opSpBiXifMEJjhow='."
}
}
Я попробовал другие вещи, такие как url, кодирующий разговор, с номером AAQkADlkOGJmMTFmLTc2NjMtMKL3My04ZDhkLTVmZWNjMzA1ODY0NAAQAB11Xh2opSpBiXifMEJjhow%3D
, что приводит к той же ошибке.
Я также попытался просто удалив =
, который, кажется, персонаж, который бесконтрольного его
https://outlook.office.com/api/v1.0/me/Messages?$filter=ConversationId%20eq%20AAQkADlkOGJmMTFmLTc2NjMtMKL3My04ZDhkLTVmZWNjMzA1ODY0NAAQAB11Xh2opSpBiXifMEJjhow
но что приводит к следующей ошибке
{
"error": {
"code": "RequestBroker-ParseUri",
"message": "Could not find a property named 'AAQkADlkOGJmMTFmLTc2NjMtMKL3My04ZDhkLTVmZWNjMzA1ODY0NAAQAB11Xh2opSpBiXifMEJjhow' on type 'Microsoft.OutlookServices.Message'."
}
}
Я также попытался баловаться с заглавную запись URL и использование +
знаков вместо %20
для строки фильтра, но я последовательно получаю 400 ошибок.
Я могу фильтровать другие поля. Например,
https://outlook.office.com/api/v1.0/me/Messages?$filter=IsRead%20eq%20true
возвращает сообщения, отфильтрованные, как и следовало ожидать.
Любая идея, что может быть с фильтром ConversationId
?
Это правильный ответ на мой вопрос, - но у меня есть продолжение. В настоящее время, используя этот фильтр, я получаю 0 результатов, хотя это реальный диалог. Таким образом, я могу получить сообщение, которое имеет свой диалогId, но когда я фильтрую по цепочке, сообщение не возвращается. У вас есть решение или объяснение? – johncorser
1) вы уверены, что носитель аутентификации для почтового ящика с этим 'ConversationId'? 2) Можете ли вы попробовать обновленную версию api, например. v2 или бета? –
Yup, 2.0 исправляет это. Благодаря! – johncorser