Унифицированный API O365 MS Graph — как получить информацию о свойствах объекта

Я знаю, что можно получить всю структуру метаданных в формате edmx через метаданные OData $. Но в элементах свойств EntityType этих метаданных отсутствуют некоторые интересные вещи — например, если свойство является фильтруемым, обновляемым или обязательным/необязательным для создания новых объектов. Может быть, какое-то описание тоже пригодится.

Можно ли получить эту информацию через API?


person MiroJanosik    schedule 20.01.2016    source источник


Ответы (1)


Большая часть того, что вы запрашиваете, может быть выражена в $metadata с помощью словарных аннотаций OData Capabilities (http://docs.oasis-open.org/odata/odata/v4.0/errata02/os/complete/vocabularies/Org.OData.Capabilities.V1.xml). Ограниченный набор таких аннотаций уже присутствует в https://graph.microsoft.com/v1.0/$метаданные, например:

<Annotations Target="microsoft.graph.directoryObject">
 <Annotation Term="Org.OData.Capabilities.V1.FilterRestrictions">
  <Record>
   <PropertyValue Bool="false" Property="Filterable"/>
  </Record>
 </Annotation>
</Annotations>

В будущем будет добавлено больше таких аннотаций.

Обязательные свойства обычно помечаются атрибутом Nullable="false" (http://docs.oasis-open.org/odata/odata/v4.0/errata02/os/complete/part3-csdl/odata-v4.0-errata02-os-part3-csdl-complete.html#_Toc406397955)

person Marek Rycharski    schedule 22.01.2016