Permissions Microsoft graph api:一些用户在使用我的应用程序时会得到403分,而其他用户则不会';t、 为什么?? 问题
我明白了 Microsoft\Graph\Exception\GrapherException:[0]:收到403的呼叫 到 我不明白为什么Permissions Microsoft graph api:一些用户在使用我的应用程序时会得到403分,而其他用户则不会';t、 为什么?? 问题,permissions,microsoft-graph-api,Permissions,Microsoft Graph Api,我明白了 Microsoft\Graph\Exception\GrapherException:[0]:收到403的呼叫 到 我不明白为什么 研究 Azure中的权限 异常在我的队列中的显示方式 补充资料 需要明确的是:我们公司的其他用户也提出了同样的要求,所以这并不是总是失败的。值得注意的是,以Chat开头的权限来自graph api的beta版本。此外,检索有关用户的信息(ownUser getGivenName)也适用于所有用户 应用程序范围 应用程序中定义的范围包括: openi
研究 Azure中的权限 异常在我的队列中的显示方式 补充资料 需要明确的是:我们公司的其他用户也提出了同样的要求,所以这并不是总是失败的。值得注意的是,以Chat开头的权限来自graph api的beta版本。此外,检索有关用户的信息(ownUser getGivenName)也适用于所有用户 应用程序范围 应用程序中定义的范围包括: openid 轮廓 脱机访问 user.read mailboxsettings.read 日历。读写 Chat.ReadBasic 聊天,阅读 Chat.ReadWrite 服务器的响应 答复完全是:
{
“错误”:{
“代码”:“禁止”,
“消息”:“禁止”,
“内部错误”:{
“日期”:“2021-05-04T12:05:41”,
“请求id”:“xxxxxxx-f7ea-4912-a23b-676002d0912d”,
“客户请求id”:“xxxxxxx-f7ea-4912-a23b-676002d0912d”
}
}
}
响应标题也不会显示任何内容:
也试过
我还尝试重新访问并给予我的(管理员)同意,但这并没有改变任何事情
JWT令牌
我还解码了一个工作用户jwt令牌和一个非工作用户jwt令牌,它们配置了相同的scp(作用域)
使用的端点
/me/chats
/me
/me/chats/$chatId/messages
/me/chats/$chatId/members
- 只有
在没有明显原因的情况下失败。这可能是测试版实现中的一个错误。也许最好使用/me/chats/$chatId/members
参数查看它们以缓解此问题$expand
- 对于另一个子组用户,使用的端点
检索所有聊天也会失败/me/chats
公共函数listChats():数组
{
$graph=$this->getGraph();
$chats=[];
$response=$graph->setApiVersion(“beta”)
->createCollectionRequest(“GET”,“me/chats”)
->setReturnType(Chat::class);
而(!$response->isEnd()){
$chats=array\u merge($chats$response->getPage());
}
返回$chats;
}
因为while循环从不停止@odata.nextLink
始终存在于这些用户的响应中。可能还有一个bug,因为sdk会通过设计检查它是否存在
$maxRequests=10;
而(!$response->isEnd()&&$maxRequests>0){
$chats=array\u merge($chats$response->getPage());
$maxRequests--;
}
哪些管理员试图访问活动?他们是参与者还是聊天室的所有者?@Diana他们是所有者。我的应用程序正在创建登录用户的团队聊天的备份。它适用于大多数用户,只是对一些用户,它给出了403禁止,而所需的权限保持不变。这是一个真正的headscratcher。您是否可以共享请求id以进行进一步调试?我可以看到您已经添加了对该问题的完整回答。@Diana请求id是dd4afa4a-f7ea-4912-a23b-676002d0912d
,我怀疑以任何方式发布此id都有危险,但我试图尽可能保持机密我认为这是由于您的用户缺乏Office365许可证造成的。在调用api之前,请尝试向用户授予Office365许可证。