2017-09-25 63 views
1

我试图在我的AD上使用delta查询,当我通过图表浏览器试用它时,它完美地工作,但对我的应用程序根本不起作用,这样的:Delta用户不支持的查询

message=Invalid request. Delta query is not supported by this resource.

我的应用程序是一个“老”的应用程序,这意味着它注册于天青与老WAAD图形API的工作。这就是为什么它不工作?或者,这可能是因为我的应用缺乏Graph Explorer需要的某些权限?我可以在没有任何问题的情况下阅读“用户”,这只是我遇到问题的增量查询。

应用程序请求以下权限:

Access the directory as the signed-in user

Read all users' basic profiles

Sign in and read user profile

令牌请求由磁带库进行管理,它要求在以下范围:OpenID的轮廓

+0

你的代币请求是什么意思是要求'openid配置文件'作用域?你在使用哪个库? –

+0

我正在使用Microsoft.IdentityModel.Clients.ActiveDirectory。该图书馆向login.microsoftonline.com发出此请求: GET /common/oauth2/authorize?client_id=MY_CLIENT_ID&response_mode=form_post&response_type=code+id_token&scope=openid+profile&state=OpenIdConnect.AuthenticationProperties%3dVynGs5Isa...&nonce= 6364 ...&redirect_uri = REDIRECT_URI&post_logout_redirect_uri = URI''' –

回答

1

不得不在这个问题上花费一整天的时间,这就是发生了什么事情。我加入这个HTTP标头的要求(每一些样本文档):

Prefer: outlook.timezone="E. Europe Standard Time"

这就是什么,只要我已经删除了头打破了增量查询请求, - 请求返回增量数据,而不是的错误。我希望这个错误可能更具描述性,我不需要花太多时间弄清楚这一点。

1

如果您使用Azure AD Graph,则不能使用/delta查询。 AAD Graph API和Microsoft Graph API是完全不同的API。呼叫一个人不能与另一个人互换。

如果您希望利用/delta,则必须重构应用程序以使用Microsoft Graph API。

+0

对不起,如果我不够清楚,我正在使用新的Graph API,新的端点。唯一可能的问题是我的应用程序是一个'传统'应用程序,在Azure中注册而不是注册图形应用程序的新特殊页面。 –

+0

您是否添加了图的范围并同意更新的权限集? –

+0

我已经更新了这个问题。 –

0

@ devmiles.com:我很高兴它为你工作。你能指定你正在使用的API和版本吗?你能链接到该文档的API吗?

另外,你是否在库中添加到HTTP头的时区中运行它?