此問題是Get custom property set in Outlook Add-In via Microsoft Graph的後續操作。獲取由加載項設置的具有自定義屬性的事件
我的Outlook Office.js加載項將一些自定義屬性添加到事件中。它按預期工作,我可以訪問使用微軟圖表,這些屬性有以下GET
要求:
/v1.0/me/events/{event-id}?$expand=SingleValueExtendedProperties($filter=id%20eq%20'String%20{00020329-0000-0000-C000-000000000046}%20Name%20cecp-b7ff386a-234a-4a38-84bc-e5ae4684b7af')
但現在我嘗試訂閱通過發佈這樣的身體向推送通知端點(/v1.0/subscriptions
)推送通知:
{
changeType: "created,updated,deleted",
notificationUrl: `[...my url...]`,
resource: `/users/${userData.id}/events?$filter=singleValueExtendedProperties/any(ep%3A%20ep%2Fid%20eq%20'String%20{00020329-0000-0000-C000-000000000046}%20Name%20cecp-b7ff386a-234a-4a38-84bc-e5ae4684b7af')`,
expirationDateTime: tomorrow,
clientState: "SecretClientState"
}
但我發現了:
{
"error": {
"code": "ExtensionError",
"message": "Operation: Create; Exception: [Status Code: BadRequest; Reason: Bad Request]",
"innerError": {
"request-id": "01dcece6-0103-4bef-8231-e9ab9480402a",
"date": "2017-04-04T20:20:58"
}
}
}
試圖設置在請求轉義的資源,但同樣的結果,接下來我想的事情是$filter
功能,所以沒有在使用MS圖形探險以下格式的GET請求:
/v1.0/me/events/?$filter=singleValueExtendedProperties/any(ep%3A%20ep%2Fid%20eq%20'String%20{00020329-0000-0000-C000-000000000046}%20Name%20cecp-b7ff386a-234a-4a38-84bc-e5ae4684b7af')
但得到了以下錯誤:
{
"error": {
"code": "ErrorInvalidUrlQueryFilter",
"message": "The filter expression for $filter does not match to a single extended property and a value restriction.",
"innerError": {
"request-id": "aca7c8ed-6e30-4490-8feb-7f1d2aed6b88",
"date": "2017-04-04T20:38:28"
}
}
}
這是否意味着我也有按值過濾不僅id
?
這將是一個問題,因爲我想要設置屬性的事件,但我不知道預先設置的值,我想在獲取推送通知後讀取它。
有沒有辦法讓我的加載項設置簡單的自定義屬性的事件,並訂閱推送通知的事件有這個自定義屬性?
編輯:
當我改變id
到PropertyId
在我得到了答案建議:
{
"error": {
"code": "BadRequest",
"message": "Could not find a property named 'PropertyId' on type 'microsoft.graph.singleValueLegacyExtendedProperty'.",
"innerError": {
"request-id": "1d3db71e-6ee2-4680-9317-64687813c52a",
"date": "2017-04-05T13:49:45"
}
}
}
EDIT 2:
現在,當我通過value
添加過濾,它的工作原理:
/v1.0/me/events/?$filter=singleValueExtendedProperties/any(ep: ep/id eq 'String {00020329-0000-0000-C000-000000000046} Name cecp-b7ff386a-234a-4a38-84bc-e5ae4684b7af' and ep/value eq 'foo')
但我wan't一切與財產,無論它的價值的事件...
EDIT-3
沒有通過value
過濾,但使用非等ne
運營商嘗試:
/v1.0/me/events/?$filter=singleValueExtendedProperties/any(ep: ep/id eq 'String {00020329-0000-0000-C000-000000000046} Name cecp-b7ff386a-234a-4a38-84bc-e5ae4684b7af' and ep/value ne 'Foo')
它似乎工作,但這個時候,它看起來像它只是忽略過濾器,並返回所有事件,包含和不包含從加載項設置的自定義屬性。
這並沒有解決我的問題,做出這一改變後,我得到了一個不同的錯誤 - 更新我的答案與我得到的迴應。 –