检索事件详细信息时扩展 singleValueExtendedProperty 不起作用详细信息、不起作用、事件、singleValueExtendedProperty

2023-09-06 17:15:49 作者:如玉公子乱浮生

我正在尝试使用 Microsoft Graph 检索事件的自定义属性值.自定义属性是由 Outlook Office.js 添加创建的

I am trying to retrieve custom property value for an event using Microsoft Graph. The custom property was created by an Outlook Office.js Add-ing

这里是请求

/v1.0/me/events/{id}?$expand=singleValueExtendedProperties($filter=id eq 'String {00020329-0000-0000-C000-000000000046} Name myCusProp')

这将返回来自 Graph 的成功响应,但不返回 singleValueExtendedProperty.但是,Outlook 加载项仍然能够从同一事件中检索属性值.

This returns a successful response from Graph but it does not return the singleValueExtendedProperty. The Outlook add-in, however, is still able to retrieve the property value from the same Event.

{
  "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('{id}')/events/$entity",
  "@odata.etag": "W/"SdXmMkSN8kCNtzTsQ4x1lwAD7sMWVg=="",
  "id": "{id}",
  "createdDateTime": "2019-09-30T10:12:34.110571Z",
  "lastModifiedDateTime": "2019-09-30T10:23:57.8338159Z",
  "changeKey": "SdXmMkSN8kCNtzTsQ4x1lwAD7sMWVg==",
  "categories": [],
  "originalStartTimeZone": "blah blah",
  "originalEndTimeZone": "blah blah Standard Time",
  "iCalUId": "040000008...EBBE4999DC5A61D31AC544",
  "reminderMinutesBeforeStart": 15,
  "isReminderOn": true,
  "hasAttachments": false,
  "subject": "WWW-002",
  "bodyPreview": "rt",
  "importance": "normal",
  "sensitivity": "normal",
  "isAllDay": false,
  "isCancelled": false,
  "isOrganizer": true,
  "responseRequested": true,
  "seriesMasterId": null,
  "showAs": "busy",
  "type": "singleInstance",
  "webLink": "https://outlook.office365.com/owa/?itemid=AQMkADU2OWFjYTFjLWNkMGYtNDdlNS1hNDIxLWIxYjlmY...DqyJu%2FWyzJk6m5v0MbSs7lwcASdXmMkSN8kCNtzTsQ4x1lwAAAgENA...AD7q52owAAAA%3D%3D&exvsurl=1&path=/calendar/item",
  "onlineMeetingUrl": null,
  "recurrence": null,
  "responseStatus": {
    "response": "organizer",
    "time": "0001-01-01T00:00:00Z"
  },
  "body": {
    "contentType": "html",
    "content": "<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta content="text/html; charset=us-ascii">
</head>
<body>
<div>rt</div>
</body>
</html>
"
  },
  "start": {
    "dateTime": "2019-09-19T02:30:00.0000000",
    "timeZone": "UTC"
  },
  "end": {
    "dateTime": "2019-09-19T03:00:00.0000000",
    "timeZone": "UTC"
  },
  "location": {
    "displayName": "",
    "locationType": "default",
    "uniqueIdType": "unknown",
    "address": {},
    "coordinates": {}
  },
  "locations": [],
  "attendees": [],
  "organizer": {
    "emailAddress": {
      "name": "Info a",
      "address": "name@domain.com"
    }
  }
}

----更新 1 - office.js 代码-----

----Update 1 - office.js code-----

这是上面的 office-js/outlook-add-in 代码参考.可以毫无问题地在此处读取自定义属性值.

This is office-js/outlook-add-in code reference above. The custom property value can be read here without an issue.

const item = Office.context.mailbox.item;

item.loadCustomPropertiesAsync(asyncResult => {
    if (asyncResult.status == Office.AsyncResultStatus.Succeeded) {
        let customProps = asyncResult.value;
        customProps.set("myCusProp", "google.com");
        customProps.saveAsync(asyncResult => {
            if (asyncResult.status == Office.AsyncResultStatus.Succeeded) {
                item.loadCustomPropertiesAsync(asyncResult => {
                    const customProps = asyncResult.value;
                    const myCusProp = customProps.get("myCusProp");
                })
            }
        });
    }
}); 

推荐答案

来自 文档:

id eq 'String {00020329-0000-0000-C000-000000000046} Name cecp-<add-in id from manifest>'

而不是 myCusProp 使用 cecp-/* 清单中的加载项 ID */

加载项 id 是清单中的 guid,此响应具有 JSON 格式的自定义属性.

Add-in id is the guid from manifest, this response has a custom properties as JSON.

 
精彩推荐
图片推荐