尝试过滤自定义创建的架构扩展时:
https://graph.microsoft.com/v1.0/me/events?$filter=(<schemaId>/<key> eq '<value>')
我们得到的错误信息是:
"message": "Could not find a property named 'e2_<ourTenantID>_<schemaId>' on type 'Microsoft.OutlookServices.Event'"
问题是在执行搜索之前,API会将tenantID添加到架构ID,因此无法识别该属性。图API似乎使用自己的内部架构ID执行搜索。
有趣的是,在搜索不存在的架构时,不会添加tenantID。
在测试过滤消息,事件和联系人时,问题仍然存在。
我们的架构扩展创建JSON:
{
"description": "Extension to help avoid duplicates",
"targetTypes": [
"Contact",
"Message",
"Event"
],
"properties": [
{
"name": "UniqueId",
"type": "String"
}
],
"status": "InDevelopment",
"owner": "<appID>",
"id": "<name>",
"@odata.type": "#microsoft.graph.ComplexExtensionValue"
}