必应新闻 API 错误 403 - 授权不足
Posted
技术标签:
【中文标题】必应新闻 API 错误 403 - 授权不足【英文标题】:Bing News API Error 403 - InsufficientAuthorization 【发布时间】:2018-02-04 15:23:35 【问题描述】:我一直在尝试使用 angularJS 和 bing search api's v7.但是,每当我向提供的 URL ("https://api.cognitive.microsoft.com/bing/v7.0/news?") 发出 http 请求时,我都会收到错误 403 响应和错误消息:“授权不足”。我查看了Microsoft docs,他们说错误可能是“如果订阅密钥已被禁用或已过期”引起的。
但是,我今天才拿到这把钥匙。它已经过期或已被停用似乎很奇怪。不知道这里会发生什么。
相关代码是
var params =
// Bing news search request parameters
"q": "query",
"count": "3",
"offset": "0",
"mkt": "en-us",
"safesearch": "Moderate"
;
$http(
method: 'GET',
url: "https://api.cognitive.microsoft.com/bing/v7.0/news?"+ $httpParamSerializer(params),
headers:"Ocp-Apim-Subscription-Key":"my_subscription key"
).then(
function successCallback(response)
console.log('success');
console.log(response);
, function errorCallback(response)
console.log('error');
console.log(response);
);
什么可能导致此问题?如果是 API 的问题,是否还有其他可用的好消息收集 API?
【问题讨论】:
作为后续,我没有 azure 帐户,我刚刚注册了试用版,他们给了我一对访问网站的密钥。我是否需要一个 Azure 帐户才能访问 API? 【参考方案1】:为什么“https://api.cognitive.microsoft.com/bing/v7.0/news”给出 403 - 授权不足?
v5.0 网址有效。 v7.0 根本不会。这似乎是微软。 毕竟它还在预览中。
在 v5.0 或 7.0 /search 上均有效。 对于 /trendingtopics,您需要将 ?mkt= 与 en-US 或 zh-CN 一起传递。 p>
我是否需要一个 Azure 帐户才能访问 API?
不,您不需要 Azure 帐户。生成的 API 密钥可用于API test from Microsoft(如果可用)、Postman 或任何其他为您发出请求的机制。
【讨论】:
是的,我最终使用了搜索。谢谢!【参考方案2】:https://api.cognitive.microsoft.com/bing/v7.0/news 是一个不同的端点。它用于类别新闻搜索:https://dev.cognitive.microsoft.com/docs/services/e5e22123c5d24f1081f63af1548defa1/operations/56f02400dbe2d91900c68553。
此处定义的https://api.cognitive.microsoft.com/bing/v7.0/news/search:https://dev.cognitive.microsoft.com/docs/services/e5e22123c5d24f1081f63af1548defa1/operations/56b449fbcf5ff81038d15cdf 是获取给定查询新闻的正确端点。
这两个端点都适用于它们各自的用例——一个没有“/search”的类别新闻(可选的“category”参数),一个带有“/search”的预期用例。
【讨论】:
以上是关于必应新闻 API 错误 403 - 授权不足的主要内容,如果未能解决你的问题,请参考以下文章
Google Youtube API 插入评论总是返回错误响应 403-“权限不足”-域“全局”
在 c# 中使用 gmail API 修改消息标签时权限不足 [403] 错误
每秒进行多次调用时,Google API Client for Google BigQuery Call 的授权失败并出现错误 403