【问题标题】:Access Error while accessing Azure API from NodeJS从 NodeJS 访问 Azure API 时出现访问错误
【发布时间】:2020-03-15 05:26:07
【问题描述】:

我正在尝试在我的 NodeJS 应用程序中使用 Azure 新闻搜索。路由器的代码在这里:

const CognitiveServicesCredentials = require('ms-rest-azure').CognitiveServicesCredentials;
let credentials = new CognitiveServicesCredentials('apikey');
let search_term = 'Winter Olympics'
const NewsSearchAPIClient = require('azure-cognitiveservices-newssearch');
let client = new NewsSearchAPIClient(credentials);
client.newsOperations.search(search_term).then((result) => {
    console.log(result.value);
}).catch((err) => {
    throw err;
});

我收到一个错误:

由于订阅密钥无效或 API 端点错误,访问被拒绝。确保为活动订阅提供有效密钥,并为您的资源使用正确的区域 API 端点。

我确定我的 API 密钥是正确的。代码示例直接来自 Azure 的快速入门 quide。那里没有提到端点。我觉得我错过了什么,但不知道是什么。

提前感谢您的任何指导。

【问题讨论】:

    标签: node.js microsoft-cognitive endpoint azure-cognitive-services bing-news-search-api


    【解决方案1】:

    试试这个来指定你的端点:

    const CognitiveServicesCredentials = require('ms-rest-azure').CognitiveServicesCredentials;
    let credentials = new CognitiveServicesCredentials('<api key>');
    let search_term = 'Winter Olympics'
    const NewsSearchAPIClient = require('azure-cognitiveservices-newssearch');
    
    
    let client = new NewsSearchAPIClient(credentials,{"endpoint":"<endpoint url>"});
    
    client.newsOperations.search(search_term,{"count":1}).then((result) => {
        console.log(result.value);
    }).catch((err) => {
        console.log(err);
        throw err;
    });
    

    结果:

    希望对你有帮助。

    【讨论】:

    • 非常感谢。就是这样。现在的另一个问题是,该回报仅限于 10 个条目。有什么想法可以控制吗?
    • @goryef,我已经更新了代码,只要在搜索函数中指定计数值就可以了。
    猜你喜欢
    • 1970-01-01
    • 2012-05-12
    • 1970-01-01
    • 2017-10-16
    • 1970-01-01
    • 2023-02-05
    • 2015-06-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多