我尝试在我的AD上使用delta查询,当我通过Graph Explorer尝试它们时,它运行得很好,但是我的应用程序根本无法工作,我得到了这个:
Access the directory as the signed-in user
我的应用程序是一个老年人的'应用程序,这意味着它已在Azure中注册以使用旧的WAAD图形API。这是为什么它不起作用?或者这可能是因为我的应用程序缺少Graph Explorer所需的一些权限?我可以阅读'用户'没有任何问题,它只是我遇到问题的delta查询。
应用程序请求以下权限:
Read all users' basic profiles
Sign in and read user profile
{{1}}
令牌请求由库管理,它要求以下范围: openid profile
答案 0 :(得分:1)
如果您使用的是Azure AD Graph,则无法使用/delta
个查询。 AAD Graph API和Microsoft Graph API是完全不同的API。对一个人的呼叫不能与另一个人互换。
如果您希望利用/delta
,则必须重构您的应用程序才能使用Microsoft Graph API。
答案 1 :(得分:1)
不得不在这个问题上度过一整天,这里发生了什么。我在请求中添加了这个HTTP标头(根据一些示例文档):
Prefer: outlook.timezone="E. Europe Standard Time"
这就是打破delta查询请求的原因,只要我删除了标头 - 请求返回的delta数据而不是错误。我希望错误可能更具描述性,我不会花太多时间来解决这个问题。