1

Anyone can help me?. I want register subscription for user, i use ngrok. I try use postman it success but in my web it error. this is my log

[2020-07-20 11:12:52] local.INFO: Error: Client error: `POST https://graph.microsoft.com/v1.0/subscriptions` resulted in a `400 Bad Request` response:
{
  "error": {
    "code": "InvalidRequest",
    "message": "Subscription validation request timed out.",
    "inner (truncated...)
  
this is my validationToken i receive:
 array (
  'validationToken' => 'Validation: Testing client application reachability for subscription Request-Id: d11e795b-9b06-46ff-b2ba-0df49a6e1c5c',
)  

and my code

try {
            $graph = new Graph();
            $graph->setAccessToken($this->token);
            $sub = new Model\Subscription();
            $sub->setChangeType("created");
            $sub->setNotificationUrl($this->domain. '/api/receive-notification');
            $sub->setResource( "users/" . $outlook_id . "/events");
            $sub->setClientState('SecretClientState');

            $dateTime = new Carbon();
            $dateTime->addDays(3);
            $sub->setExpirationDateTime($dateTime);

            $subResult = $graph->createRequest("POST", "/subscriptions")
                ->attachBody($sub)
                ->setReturnType(Model\Subscription::class)
                ->execute();

            dd($subResult);

        } catch (\Exception $e) {
            dd($e->getMessage());
        }

1 Answers1

0

Graph API only allows 4230 minutes into the future.

Change

$dateTime->addDays(3);

to

$dateTime->modify('+4230 minutes');
rubberchicken
  • 1,270
  • 2
  • 21
  • 47