Какие ресурсы следует использовать для создания подписки на определенный календарь с помощью API Graph v1.0 - PullRequest
0 голосов
/ 14 июня 2019

Я работаю над интеграцией моего существующего приложения с Graph API.Используя API Outlook, мы смогли создавать «календарные веб-зацепки» и «календарные веб-зацепки».Согласно документам, количество посещений календаря составляет Subscription с resource_type me/events.Есть ли какой-либо модификатор для видимости до идентификатора календаря?Кроме того, есть ли способ подписаться на добавление или удаление календарей?

Я пробовал me/events/{id}, me/events, /me/calendars/{id}/events и /me/calendars/{id} безрезультатно

API_BASE = 'https://graph.microsoft.com/v1.0'

def api_url(fmt, *args, **kwargs):
    """Helper for generating API URLs"""
    return API_BASE + fmt.format(*args, **kwargs)


def _create_push_subscription(self, callback_url):
    """Create a push subscription"""

    expiration = now() + timedelta(days=2)

    # Initialize some parameters
    data = {
        'resource': '/me/calendars/{}/events'.format(calendar_id),
        'subscriptionExpirationDateTime': str(expiration.isoformat()).replace('+00:00', 'Z'),
        'changeType': 'created,deleted,updated',
        'notificationURL': callback_url,
    }

    # Create the subscription
    resp = self.session.post(api_url('/subscriptions'), json=data)

    # Return the channel ID and expiration date
    return parse_datetime(resp['subscriptionExpirationDateTime'])

Я получил только ответы 503 (Gateway timeouts) и

400 Client Error: Bad Request for url: https://graph.microsoft.com/v1.0/subscriptions

1 Ответ

1 голос
/ 18 июня 2019

Согласно документации , вы можете подписаться только на /me/events:

Ниже приведены допустимые значения свойства ресурса подписки:

  • Почта: me/mailfolders('inbox')/messages me/messages
  • Контакты: me/contacts
  • Календари: me/events
  • Пользователи: users
  • Группы: groups
  • Диалоги: groups('*{id}*')/conversations
  • Диски: me/drive/root
  • Предупреждение системы безопасности: security/alerts?$filter=status eq ‘New’
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...