Развертывание singleValueExtendedProperty не работает при получении сведений о событии - PullRequest
2 голосов
/ 30 сентября 2019

Я пытаюсь получить значение пользовательского свойства для события, используя Microsoft Graph. Настраиваемое свойство было создано надстройкой Outlook Office.js

Вот запрос

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

Возвращает успешный ответ от Graph, но не возвращает singleValueExtendedProperty. Однако надстройка Outlook все еще может извлечь значение свойства из того же события.

{
  "@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>\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n<meta content=\"text/html; charset=us-ascii\">\r\n</head>\r\n<body>\r\n<div>rt</div>\r\n</body>\r\n</html>\r\n"
  },
  "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 -----

Это ссылка на код office-js / outlook-add-in выше. Значение пользовательского свойства можно прочитать здесь без проблем.

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");
                })
            }
        });
    }
}); 

1 Ответ

2 голосов
/ 30 сентября 2019

Из документации :

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

Вместо myCusProp используйте cecp-/* add-in id from manifest */

Идентификатор надстройки - это указатель из манифеста, этот ответ имеетпользовательские свойства как JSON.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...