Получение 400 и 500 при попытке получить singleValueExtendedProperties

пытается добавить расширенные свойства к объектам календаря. Я могу создавать календари со следующей полезной нагрузкой (синтаксис Ruby, полезная нагрузка отправляется как JSON):

name: build_calendar_name,
singleValueExtendedProperties: [{
  id: "String {#{SecureRandom.uuid}} Name setting_id",
  value: @setting_id.to_s
}]

Я получаю 201 из этого запроса, и календарь создается без проблем

Раздражает то, что я не могу получить расширенное свойство при выполнении запроса GET. Следующие два запроса должны работать:

GET /me/events/calendar_id?$expand=singleValueExtendedProperties($filter=id eq 'String {guuid} Name setting_id')

Response
{
    "error": {
        "code": "BadRequest",
        "message": "Parsing OData Select and Expand failed: Found an unbalanced bracket expression.",
        "innerError": {
            "date": "2020-07-01T22:38:14",
            "request-id": "<hidden>"
        }
    }
}
GET /me/calendars?$filter=singleValueExtendedProperties/Any(ep: ep/id eq 'String {guuid} Name setting_id' and ep/value eq 'setting_id')

Response:
{
    "error": {
        "code": "ErrorInternalServerError",
        "message": "An internal server error occurred. The operation failed.",
        "innerError": {
            "date": "2020-07-01T22:40:15",
            "request-id": "<hidden>"
        }
    }
}

Guuid, calendar_id и setting_id являются фиктивными значениями, при попытке этих вызовов используются реальные значения.

Мы также попробовали дословно следовать примерам по этой ссылке https://docs.microsoft.com/en-us/graph/api/singlevaluelegacyextendedproperty-get?view=graph-rest-1.0&tabs=http#пример и по-прежнему получать эти коды ответов. Хотел бы помочь с этим. Спасибо!


person crice1988    schedule 01.07.2020    source источник
comment
Вы устанавливаете это в календаре или на мероприятии? Ваш первый запрос - получение события, но ваша полезная нагрузка в первом примере выглядит как календарь. Кроме того, пробовали ли вы это в Graph Explorer, чтобы исключить свой код Ruby?   -  person Jason Johnston    schedule 02.07.2020
comment
Дерьмо. Извините за путаницу, это должен был быть календарь. И да, это ответы от Graph Explorer.   -  person crice1988    schedule 02.07.2020


Ответы (1)


Я воспроизвел это для случая $expand в Graph Explorer. Кажется, проблема заключается в = в скобках. Если вы URL-кодируете это как %3D, запрос работает нормально.

$expand=singleValueExtendedProperties($filter%3Did eq 'String {guuid} Name setting_id')

Что касается $filter, я воспроизвожу это при выполнении GET /me/calendars, но не при выполнении GET /me/events. Кажется, это проблема службы (если только документы не ошибочны). Позвольте мне проверить и доложить.

person Jason Johnston    schedule 02.07.2020
comment
Я сейчас попробую. - person crice1988; 02.07.2020
comment
Это был секретный соус !! - person crice1988; 02.07.2020
comment
@ crice1988, если это помогло, отметьте ответ как принятый, это помогает другим Джейсон, ты легенда, ты тоже решил мою проблему :) - person GavinB; 03.07.2020
comment
@GavinB тоже. Если этот вопрос помог, проголосуйте, пожалуйста. Спасибо. - person crice1988; 06.07.2020
comment
@ jason-johnston, похоже, это больше не работает. Какие-либо предложения? - person crice1988; 06.08.2020
comment
Я просто запустил это в Graph Explorer без проблем. - person Jason Johnston; 06.08.2020