Outlook Web hook подписка - PullRequest
       11

Outlook Web hook подписка

0 голосов
/ 10 декабря 2018

Я работаю с подписками Outlook Webhook и работаю на сервере QA.

Согласно документации Microsoft Graph, нам нужно отправить запрос на получение уведомления о веб-крюке.Для этого я использую модуль запросов Python 3.

Я отправляю следующие данные, но получаю сообщение об ошибке.Я не могу понять, где я ошибаюсь в процессе.

url="https://graph.microsoft.com/v1.0/subscriptions"
header={
    'Content-Type': 'application/json',
    'Authorization':"Bearer "+ "valid access token"
}

data={
    "changeType": "created,updated",
    "notificationUrl": "https://qa.example.com/get_webhook",
    "resource": "/me/mailfolders('inbox')/messages",
    "expirationDateTime": "2018-12-11T11:00:00.0000000Z"
}

response=requests.post(url, headers=header, data=data)

После выполнения вышеуказанных строк я получаю следующий <400> ответ

'{\r\n  "error": {\r\n    "code": "BadRequest",\r\n    "message": 
 "Unable to read JSON request payload. Please ensure Content-Type 
 header is set and payload is of valid JSON format.",\r\n    
 "innerError": {\r\n      "request-id": "3a15ba2f-a055-4f33-a3f8- 
 f1f40cdb2d64",\r\n      "date": "2018-12-10T06:51:32"\r\n    }\r\n  
 }\r\n}'

Ответы [ 2 ]

0 голосов
/ 11 декабря 2018

Вы можете использовать:

import json
response=requests.post(url, headers=header, data=json.dumps(data))
0 голосов
/ 10 декабря 2018

Чтобы опубликовать как JSON, вам нужно json свойство, а не data свойство (т.е. json={"key": "value"}:

url="https://graph.microsoft.com/v1.0/subscriptions"
header={
    'Content-Type': 'application/json',
    'Authorization':"Bearer "+ "valid access token"
}

data={
    "changeType": "created,updated",
    "notificationUrl": "https://qa.example.com/get_webhook",
    "resource": "/me/mailfolders('inbox')/messages",
    "expirationDateTime": "2018-12-11T11:00:00.0000000Z"
}

response=requests.post(url, headers=header, json=data)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...