Microsoft Graph $ filter по singleValueExtendedProperties и получить эти расширенные свойства тоже - PullRequest
0 голосов
/ 23 сентября 2018

Я экспортирую определенные события приложения в MS Calendar.Чтобы отличить их от других (для последующего обновления / удаления с помощью приложения), я установил для них расширенное свойство (с SingleValueExtendedProperties).

Я узнал, как фильтровать события по наличию (и значению)это расширенное свойство ( Получить события с пользовательским свойством, установленным надстройкой например)

Я также узнал, как запрашивать значение этого свойства с помощью $expand -ingидентификатор конкретного события - https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/api/singlevaluelegacyextendedproperty_get

Я не могу найти, как получить список совпадающих событий и это расширенное свойство для каждого элемента.Для всех примеров, которые я проверял (по второй ссылке их много) указано, что The response does not include the matching extended property. Почему так и как тогда?Очевидно, было бы не очень удобно получать список $filter, а затем $expand каждый элемент с отдельными запросами ...

Я был бы очень признателен за любую помощь / подсказки / мысли.

Ответы [ 2 ]

0 голосов
/ 21 октября 2018

Я нашел решение.Это может быть сделано с «открытым расширением»:

https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/api/opentypeextension_post_opentypeextension

Рабочий процесс следующий:

  1. заполнить extensions поле при создании /событие обновления:

    subject: 'my event',
    ... 
    extensions: [{
      '@odata.type': 'Microsoft.Graph.OpenTypeExtension',
      extensionName: MS_EXTENSION_ID,
      appSpecificId: myId
    }]
    
  2. , затем используйте запрос, подобный этому, чтобы отфильтровать и развернуть значения "открытого расширения":

    url: 'https://graph.microsoft.com/v1.0/me/events'
      + '?$select=subject,start,end'
      + '&$filter=Extensions/any(f:f/id eq \'' + MS_EXTENSION_ID + '\')'
      + '&$expand=Extensions($filter=id eq \'' + MS_EXTENSION_ID + '\')',
    

MS_EXTENSION_ID может быть просто обратным доменным именем, например Biz.MyCompany.Events

0 голосов
/ 24 сентября 2018

Согласно вашему описанию, я предполагаю, что вы хотите перечислить событие и расширить свойство каждого элемента.

Мы можем сослаться на этот документ .В этом документе говорится, что

Using the query parameter $expand allows you to get the specified resource instance expanded with a specific extended property. Use a $filter and eq operator on the id property to specify the extended property. This is currently the only way to get the singleValueLegacyExtendedProperty object that represents an extended property.

Мы можем отправить этот запрос на Голос пользователя

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...