【发布时间】:2016-10-24 10:56:03
【问题描述】:
我目前正在尝试在 MS Cognitive Services Bing 搜索 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 Explorer 获得相同的结果时,我认为问题出在我的密钥上,而不是我的代码上。但这是认知服务为我的订阅提供的密钥,可在 https://www.microsoft.com/cognitive-services/en-us/subscriptions 上找到(登录时)。
如果这不是正确的密钥,我应该使用什么?
【问题讨论】:
-
搜索 API 存在确切问题。希望它尽快解决。
-
请确保将
{MY KEY}替换为您的密钥,并确保删除花括号。 -
我正在使用 Microsoft 的 API Explorer 和他们生成的密钥,并且只接收 401。我认为这是微软方面的一个问题。
-
API Explorer 是什么意思?
-
“API 测试控制台”。微软官方测试你的 API 密钥的方法:bingapis.portal.azure-api.net/docs/services/…