1

此問題是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

這將是一個問題,因爲我想要設置屬性的事件,但我不知道預先設置的值,我想在獲取推送通知後讀取它。

有沒有辦法讓我的加載項設置簡單的自定義屬性的事件,並訂閱推送通知的事件有這個自定義屬性?

編輯:

當我改變idPropertyId在我得到了答案建議:

{ 
    "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') 

似乎工作,但這個時候,它看起來像它只是忽略過濾器,並返回所有事件,包含和不包含從加載項設置的自定義屬性。

回答

1

幾次嘗試後,我找到了一種方法來過濾事件/消息說有一個自定義屬性,無論它的價值:

https://graph.microsoft.com/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 null) 

與正在and ep/value ne null增加的重要組成部分,而像and ep/value ne 'fooo'沒有工作,它只是返回了一切。

上面的過濾還可用於過濾我們要爲其訂閱推送事件的事件。

0

我相信過濾查詢應該是

屬性ID EQ ....

代替編號EQ ...

+0

這並沒有解決我的問題,做出這一改變後,我得到了一個不同的錯誤 - 更新我的答案與我得到的迴應。 –

相關問題