【发布时间】:2018-08-13 19:19:08
【问题描述】:
我一直在尝试将以下查询与 Microsoft 图形 API 一起使用:
"groups?$filter=startswith(displayName, '" + term + "')"
所以这个term的值取自输入的html:
我通过 python 插入它以使用查询执行搜索:
@APP.route('/search')
def search():
params = request.args.to_dict()
term = params.get('term')
queryGroup = "groups?$filter=startswith(displayName, '" + term + "')"
result = MSGRAPH.get(queryGroup, headers=request_headers()).data
return flask.render_template('home-page.html', result=result)
当我尝试在 Azure AD 中查找现有组时,我得到以下信息:
b'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">\r\n<HTML><HEAD><TITLE>Bad Request</TITLE>\r\n<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii"></HEAD>\r\n<BODY><h2>Bad Request</h2>\r\n<hr><p>HTTP Error 400. The request is badly formed.</p>\r\n</BODY></HTML>\r\n'
根据 Microsoft 的文档,我发现我的查询结构良好。
我希望你们帮助我知道,这里可能会出现什么问题?
我正在使用 API 的 v1.0,并且还在图形资源管理器中使用相同版本进行了尝试。(它成功了,这对我来说很奇怪)
我一直在考虑使用$search 参数,但它不适用于这种类型的集合(组)
我发送的完整 URI 是:
https://graph.microsoft.com/v1.0/groups?$filter=startswith(displayName,<here I put the searched value>)
谢谢!
【问题讨论】:
-
你的例子不是很清楚。您正在显示查询参数,但没有显示完整的 URI,因此不清楚调用实际上是如何执行的。您能否包含一个 HTTP 跟踪,显示实际传输的内容?
-
@MarcLaFleur 哦,我刚刚更新了我的问题,在那里你可以看到我发送的 URI。
-
根据Bad Request异常,表示请求不正确。我假设
term = params.get('term')term的值为 null 或空。您可以使用硬代码值设置term并再次测试。
标签: python flask active-directory azure-active-directory microsoft-graph-api