我正在使用Microsoft Graph API在PHP中进行应用。实际上,我找不到任何有关php的文档,所以我按照Microsoft教程进行了操作。
所以首先我尝试为post方法做microsoft页面示例:
POST https://graph.microsoft.com/beta/app/onlineMeetings 内容类型:application / json 内容长度:1553
{
"meetingType": "meetNow",
"participants": {
"organizer": {
"identity": {
"user": {
"id": <id user azuread teenant>
}
}
}
},
"subject": "subject-value"
}
实际上,它在Microsoft图形资源管理器上不起作用。我已经授予了所有权限,并且ir返回以下内容:
失败-状态码403,440ms好像您没有此呼叫的权限。
{
"error": {
"code": "Forbidden",
"message": "",
"innerError": {
"request-id": "fd8cdedd-99f1-4bca-9de6-29a77f834bba",
"date": "2019-04-25T18:06:43"
}
}
}
尽管资源管理器无法处理在线会议和电话,所以我停止使用它,并尝试使用php应用程序。
然后我尝试了这个:
// Create a Graph client
// Set graph version
// Get user info
$graph = new Graph();
$graph->setAccessToken($accessToken);
$graph->setApiVersion("beta");
$createTeamsUrl = '/app/onlineMeetings';
$events = $graph->createRequest('POST', $createTeamsUrl)
->attachBody($body)
->execute();
accessToken是oauth v2.0返回的令牌,它可以正常工作。
我已经向我的azure广告应用程序授予了测试目的的所有权限(包括委托和应用程序,例如OnlineMeetings.ReadWrite.All),但这会返回相同的错误。
我有其他要求,例如:
//works
$graph = new Graph();
$graph->setAccessToken($accessToken->getToken());
$user = $graph->createRequest('GET', '/me')
->setReturnType(Model\User::class)
->execute();
这可行。
我还下载了c#示例,它可以正常工作,所以我认为它没有权限
https://github.com/microsoftgraph/microsoft-graph-comms-samples/
如果有人知道是否支持此功能,可能会有用。
谢谢。