I have a meeting join URL and need to obtain the online meeting data.
I am using the next query: https://graph.microsoft.com/v1.0/users/{user-id}/onlineMeetings?$filter=JoinWebUrl eq '{join-url}'
While it works on Graph Explorer using my user, it does not work from my PHP app using the graph API with the following error:
Client error: GET https://graph.microsoft.com/v1.0/users/{user id}/onlineMeetings?$filter=JoinWebUrl%20eq%20'https://teams.microsoft.com/l/meetup-join/19%3ameeting_{some characters}%40thread.v2/0?context=%7b%22Tid%22%3a%22{another id?}%22%2c%22Oid%22%3a%22{another id?}%22%7d'
resulted in a 403 Forbidden
response:\n{\"error\":{\"code\":\"General\",\"message\":\"No Application Access Policy found for this app.\",\"innerError\":{\"request-id\":\"c2afdedf-f37f-4b01-bd4a-bcb5a645fde2\",\"date\":\"2022-10-18T10:27:22\",\"client-request-id\":\"c2afdedf-f37f-4b01-bd4a-bcb5a645fde2\"}}}\n
Graph Explorer tells me I need to ask for the next permissions:

These are the permissions I have assigned to my app:

Maybe the problem could be in the next code. I do not know if the scopes are right:
php
$guzzle = new \GuzzleHttp\Client();
$url = 'https://login.microsoftonline.com/' . $tenantId . '/oauth2/token?api-version=1.0';
$token = json_decode($guzzle->post($url, [
'form_params' => [
'client_id' => $clientId,
'client_secret' => $clientSecret,
'resource' => 'https://graph.microsoft.com/',
'grant_type' => 'client_credentials',
'scopes' => 'openid profile offline_access user.read ' .
'mailboxsettings.read calendars.readwrite ' .
'onlinemeetings.read onlinemeetings.readall ' .
'meetings.readwrite onlinemeetings.readwrite ' .
'onlinemeetingartifact.readall group.readwrite '
],
])->getBody()->getContents());
Please, how can I make this work? Thank you!