2

Когда пользователь создал событие в общем календаре outlook.com, REST API сообщает, что владелец календаря является организатором.outlook.com rest api неправильный организатор email

У меня есть один календарь в Outlook.com, и я синхронизую все события календаря с моим сервером с подпиской на календарь. Я получаю уведомления, когда что-то происходит, и в уведомлении есть URL-адрес, который я могу использовать для получения объекта этого вновь созданного события.

У меня теперь есть другой пользователь в outlook.com, и я поделился с ним своим календарем. Когда он делает что-то в этом общем календаре, я получаю уведомления, но я не получаю никакой информации о том, кто создал новое событие.

Организатор всегда мой пользователь, и по какой-либо причине имя объекта объекта прекрасное, но адрес электронной почты - это что-то вроде outlook-[nonsense]@outlook.com (это не мой адрес электронной почты). Мой настоящий адрес электронной почты больше похож на [email protected].

Смотреть это изображение осветления:

enter image description here

Организатор часть ответа:

Organizer: 
{ EmailAddress: 
    { Name: 'Encode Testing', 
     Address: '[email protected]' } }, 

аутентификации приложений производится только с моим пользователем (название которого Тестирование на картинке) ,

Вот мое удостоверение:

this.scopes = [ 
    'openid', 
    'offline_access', 
    'https://outlook.office.com/calendars.readwrite' 
]; 

точка должна иметь больше календарей под моей учетной записи, и я буду делиться ими с другими. Но я должен получить информацию в своем приложении о том, кто создает события.

Любые идеи?

+1

отчетов наших календарных дэвы. –

+0

Итак, учетная запись, которая фактически владеет календарем, является их основным адресом электронной почты адресом outlook.com или чем-то еще? –

+0

Первичная электронная почта с пользовательским доменом.Но это безумие об организаторе кажется «особенностью». Если я посмотрю календарь в браузере или через api с помощью User Testing (владелец календаря), он выглядит как организатор во всех событиях, даже если он не создал их. И когда я смотрю на тот же календарь с пользователем Testing2 (который получил доступ через общий доступ) через api или в браузере, похоже, что он владеет всеми событиями в этом календаре. Теперь я проверил это в office365, и там владелец календаря ВСЕГДА организатор на всех мероприятиях. Независимо от того, как вы смотрите на них и кто создал события. – lehtu

ответ

0

Ожидается, что организатор событий в общем календаре всегда является владельцем указанного календаря. По сути Testing2 создал событие от имени Testing, но Testing2 не стал организатором. Нечетный адрес электронной почты, который вы видите для тестирования, - это его почтовый адрес outlook.com, который добавляется, так как вы используете собственный домен.

К сожалению, сегодня не похоже, что API напрямую предоставляет информацию о том, кто действительно создал событие. Вероятно, это хорошая возможность предложить на UserVoice. Однако вы можете получить доступ к нему косвенно.

Всякий раз, когда API напрямую не раскрывает свойство, вы можете посмотреть основные свойства, открытые сервером Exchange. Обычно я смотрю их в докторе MS-OXPROPS. Я нашел PidTagCreatorName, который, похоже, может помочь получить данные, которые вам нужны.

Вы можете получить доступ к этим базовым свойствам путем расширения (через $expand) коллекции SingleValueExtendedProperties на предметы. Так что если вы делаете GET на следующем:

https://outlook.office.com/api/v2.0/me/events? 
$expand=SingleValueExtendedProperties($filter=PropertyId eq 'String 0x3FF8') 

Вы увидите результаты возвратили которые выглядят примерно так:

{ 
    ... 
    All the normal props you usually see 
    ... 
    "SingleValueExtendedProperties": [ 
     { 
      "PropertyId": "String 0x3ff8", 
      "Value": "Jason Johnston" 
     } 
    ] 
} 
+0

Хмм .. Как насчет получения адреса электронной почты? – lehtu

+0

Я этого не вижу. –