首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Azure地图模糊搜索API (https://atlas.microsoft.com/search/fuzzy/json?)在Postman上工作,但在逻辑应用程序上失败

Azure地图模糊搜索API (https://atlas.microsoft.com/search/fuzzy/json?)在Postman上工作,但在逻辑应用程序上失败
EN

Stack Overflow用户
提问于 2020-05-16 07:28:12
回答 1查看 257关注 0票数 0

我开始在一个使用Logic Apps ( Azure )的项目中使用Azure Maps API。突然,HTTP操作停止了,我得到了一个400 BadRequest的错误。

“错误”:{“代码”:"400 BadRequest",“消息”:“错误请求:一个或多个参数指定错误或互斥。”

但是,当我使用Postman或我的浏览器调用相同的API时,它工作得很好。

接口:多伦多多伦多https://atlas.microsoft.com/search/fuzzy/json?api-version=1.0&subscription-key=xxxxxxxxxxxxxxxxxxxxxxxxxxx&query=2 5 Donlands 4多伦多&countrySet=Ca&maxFuzzyLevel=2&limit=1

正如我所提到的,这是有效的,并且突然在逻辑应用程序上开始失败,而没有进行任何更改。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-18 16:33:20

我也有同样的问题。我使用address rest api从邮政编码中检索城市。

示例:

https://atlas.microsoft.com/search/address/structured/json?subscription-key=mySubcriptionKey&api-version=1.0&postalcode=35000&countrycode=fr&limit=1

和您一样,如果我使用查询客户端,我有一个400错误的请求,消息是:{ "error":{ "code":"400 BadRequest"," message ":"Bad request:一个或多个参数被错误地指定或者是互斥的。“}}

请注意,该查询对于google chrome是可以的,但是使用Brave、Edge (Chrome)和Firefox返回400个错误请求。另请注意,示例web sdk也存在同样的问题,并且不会更新。

目前,我不知道问题出在哪里。

编辑:经过一些调查,我很确定这是微软的问题。因此,我找到了一种解决方法。如果我尝试使用Firefox查询,默认情况下我有一个400和200个chrome。我比较了头文件,问题出在accept语言上。

默认情况下,在Chrome上,我有: Accept-Language: fr-FR,fr;q=0.9,en-US;q=0.8,火狐上的en;q=0.7 (勇敢,边缘也可能),我有: Accept-Language: fr,fr-FR;q=0.8,en-US;q=0.5,en;q=0.3

请注意fr-FR和fr之间的反转。如果我将Firefox上的接受语言从fr,fr-FR更改为FR- fr,fr。起作用了。

如果我将接受语言设置为"fr“,我仍然有一个400。使用"Fr-fr“。所以在一些测试之后,我的结论是atlas在两个字母的头接受语言上有问题。

因此,在我的TS/JS代码中,只需添加带有4个字母的accept-language即可再次工作。

代码语言:javascript
运行
复制
xhr.open('GET', url, true);
xhr.setRequestHeader("Accept-Language", this.acceptLanguage);
xhr.send();

我的观点是这是一个服务器/地图集的问题,我不能想象这种代码从微软^^

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61829909

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档