API REST Push-уведомлений Outlook - ошибка подписки - PullRequest
0 голосов
/ 13 ноября 2018

Я создал API подписки на push-уведомления Outlook, используя PHP curl

Но ответ - просто пустая строка без ошибки.

вот мой код;

$url = 'https://outlook.office.com/api/v2.0/me/subscriptions';
$headers = array(
    "Content-Type: application/json",
    "Authorization: Bearer " . $accessToken
);
$curl = curl_init($url);
$data = '{
    "@odata.type":"#Microsoft.OutlookServices.PushSubscription",
    "Resource": "https://outlook.office.com/api/v2.0/me/events",
    "NotificationURL": "https://{$mydomain}/outlook-notif-subscribe/",  
    "ChangeType": "Created,Deleted,Updated"
}';
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($curl);

Как предлагается здесь Подписка на уведомления Outlook Webhook

Чтобы заменить «Ресурс»: «https://outlook.office.com/api/v2.0/me/events" на« Ресурс »:« я / события »

Я также получаю сообщение об ошибке, показанное ниже;

{
  "error": {
    "code": "InvalidAudience",
    "message": "The audience claim value is invalid 'https://localhost:3000/index.html'.",
    "innerError": {
      "requestId": "933db80e-483b-4b71-96f2-38eb6960fbad",
      "date": "2018-11-13T09:03:51"
    }
  }
}

Я использовал токен доступа, полученный из API-интерфейса офисного почтового ящика

https://docs.microsoft.com/en-us/office/dev/add-ins/reference/objectmodel/requirement-set-1.5/office.context.mailbox#getuseridentitytokenasynccallback-usercontext

getUserIdentityTokenAsync(callback, [userContext])

Я что-то пропустил? или я сделал это неправильно?

...