必应新闻 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-USzh-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] 错误

带有授权标头的Web API 2调用给出了403错误

每秒进行多次调用时,Google API Client for Google BigQuery Call 的授权失败并出现错误 403

403 - 授权错误 - OAuth2.0 - 访问令牌 - Azure Api For Fhir。

Google Analytics 报告 API - 权限不足 403