Объект повторения REST API календаря Outlook

Я получаю события календаря из Outlook365, используя их RESTful API в качестве документа здесь https://msdn.microsoft.com/en-us/office/office365/api/calendar-rest-operations

Когда событие повторяется, вместо того, чтобы показывать мне RRULE, как любой другой Календарь в мире, я получаю такой глупый объект:

[Recurrence] => Array
    (
        [Pattern] => Array
            (
                [Type] => RelativeMonthly
                [Interval] => 2
                [Month] => 0
                [DayOfMonth] => 0
                [DaysOfWeek] => Array
                    (
                        [0] => Thursday
                    )

                [FirstDayOfWeek] => Sunday
                [Index] => Third
            )

        [Range] => Array
            (
                [Type] => NoEnd
                [StartDate] => 2016-08-18
                [EndDate] => 0001-01-01
                [RecurrenceTimeZone] => GMT Standard Time
                [NumberOfOccurrences] => 0
            )

    )

Я не могу найти никакой документации или спецификаций по этому поводу. Мне нужно преобразовать это в RRULE, но я понятия не имею, какие значения я могу получить и что они означают. [pattern][type] в приведенном выше примере - это RelativeMonthly, и я думаю, это то, что вы получаете, когда событие происходит только в определенные месяцы ?? Типа Monthly, когда это происходит каждый месяц, я думаю .. ??

Есть ли какая-либо документация, которая объясняет объект повторения, возвращаемый из Calendar API, который мне не хватает?

Или еще лучше сценарий PHP, который уже анализирует их в RRULE (длинный снимок).


person superphonic    schedule 29.06.2016    source источник


Ответы (1)


Вы можете сослаться на здесь для документа для повторения. Мы также можем использовать пользовательский интерфейс Outlook для создания повторяющейся встречи, чтобы лучше понять объект Повторение. Вот цифра для справки:

введите здесь описание изображения

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

Обновлять

введите здесь описание изображения

person Fei Xue - MSFT    schedule 30.06.2016
comment
Спасибо за это, я действительно не хотел добавлять встречи для каждого типа шаблона повторения, отмечать, какую комбинацию я выбрал, а затем смотреть, что я получил от API. Эта ссылка выглядит многообещающей, но когда я захожу по ней, я вижу, что страница 404 не найдена, парень сидит в кресле. Эта страница работает на вас? - person superphonic; 30.06.2016
comment
Да, эта страница мне подходит, я пропущу содержимое этой страницы для вашей справки. Смотрите обновление. - person Fei Xue - MSFT; 30.06.2016
comment
Отлично, отлично, спасибо. Есть ли какая-либо документация о том, что означают разные типы. В чем разница между RelativeMonthly и AbsoluteMonthly? И когда установлены определенные свойства, например, в опубликованном мною массиве Month и DayOfMonth равны нулю, что будет Type, если в них есть положительные целые числа? Я вижу, что это большая работа, чтобы преобразовать это в RRULE ... - person superphonic; 30.06.2016
comment
Исходя из рисунка и описания, RelativeMonthly соответствует использованию first/second/third/last week второй строки шаблона повторения пользовательского интерфейса Outlook. И повторение в коде, который вы публикуете, соответствует occur at Thursday of third week every two month - person Fei Xue - MSFT; 30.06.2016
comment
Спасибо за помощь. - person superphonic; 30.06.2016