Bing News API Error 403 - InsufficientAuthorization

时间:2017-08-27 00:04:14

标签: angularjs api http http-status-code-403 bing-api

我一直在尝试使用angularJS和bing搜索api的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?

2 个答案:

答案 0 :(得分:1)

  

为什么“https://api.cognitive.microsoft.com/bing/v7.0/news”给出了403    - 权限不足?

v5.0网址有效。 v7.0根本不会。这似乎是微软。 毕竟它还在预览中。

在v5.0或7.0上 / search 有效。 对于 / trendingtopics ,您需要使用 en-US zh-CN 传递?mkt =

  

我是否需要azure帐户才能访问API?

不,您不需要Azure帐户。生成的API密钥可以在API test from Microsoft(如果可用),Postman或任何其他为您提出请求的机制中使用。

答案 1 :(得分:0)

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/searchhttps://dev.cognitive.microsoft.com/docs/services/e5e22123c5d24f1081f63af1548defa1/operations/56b449fbcf5ff81038d15cdf是获取给定查询的新闻的正确终点。

两个端点都适用于各自的用例 - 没有“/ search”类别新闻(可选“类别”参数)和一个带有“/ search”的端点用于此处的预期用例。