我目前正在尝试在MS Cognitive Services Bing Search API上进行新闻搜索。我读了很多文档,但似乎被卡住了。
以下是我正在使用的代码:
$url = 'https://bingapis.azure-api.net/api/v5/news/search?q=microsoft&mkt=en-us';
$key = '{MY KEY}';
$request_headers = array();
$request_headers[] = 'Ocp-Apim-Subscription-Key: '. $key;
$request_headers[] = 'User-Agent: mozilla';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $request_headers);
$data = curl_exec($ch);
curl_close($ch);
echo $data;
此代码返回以下结果:
{ "statusCode": 401, "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription." }
当我从网站上的API资源管理器获得相同的结果时,我认为问题出在我的密钥上,而不是我的代码。但这是Cognitive Services为我的订阅提供的密钥,如https://www.microsoft.com/cognitive-services/en-us/subscriptions上所示(登录时)。
如果这不是正确的密钥,我应该使用什么?
答案 0 :(得分:4)
我在微软的认知服务团队工作。如果您在6月22日之后生成订阅密钥(或续订了密钥)并且当前正在使用https://bingapis.azure-api.net/api/v5/基本URI,则可能会针对Bing API遇到此问题。
更新以使用新的订阅密钥时,您必须更新您的应用程序以使用https://api.cognitive.microsoft.com/bing/v5.0/基本URI。
此外,如果您使用Bing API的API参考,您可以尝试以下链接,这些链接应该与新密钥一起使用。
对于报告问题所带来的不便和感谢深表歉意 - 我们正在更新链接。