既存のアプリと Graph API の統合に取り組んでいます。Outlook API を使用して、「カレンダー Webhook」と「カレンダー イベント Webhook」を作成できました。ドキュメントによると、カレンダー イベントの WebhookSubscription
はresource_type
me/events
. カレンダー ID まで絞り込むための修飾子はありますか? さらに、追加または削除されるカレンダーを購読する方法はありますか?
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