【问题标题】:How can i display 50 or 100 results of Bing News API如何显示 Bing News API 的 50 或 100 个结果
【发布时间】:2018-05-23 23:06:28
【问题描述】:

以下代码未返回 50 条新闻结果。我在用 &count=50&offset=0 但不工作。

感谢任何帮助。

$endpoint = 'https://api.cognitive.microsoft.com/bing/v7.0/news';

$term = $_GET['q'];
$site = '(((site:aaa.com+OR+site:bbb.com)+OR+site:ccc.net)+OR+site:ddd.com)';


function BingNewsSearch ($url, $key, $query, $site) {

$headers = "Ocp-Apim-Subscription-Key: $key\r\n";
$options = array ('http' => array (
                      'header' => $headers,
                      'method' => 'GET' ));

// Perform the Web request and get the JSON response
$context = stream_context_create($options);
$result = file_get_contents($url . "?q=" . 
urlencode($query).'+'.$site.'&cc=CR&setLang=es&count=50&offset=0', false, 
$context);


// Extract Bing HTTP headers
$headers = array();
foreach ($http_response_header as $k => $v) {
    $h = explode(":", $v, 2);
    if (isset($h[1]))
        if (preg_match("/^BingAPIs-/", $h[0]) || preg_match("/^X-MSEdge-/", $h[0]))
            $headers[trim($h[0])] = trim($h[1]);
}

return array($headers, $result);
}

print "Searching news for: " . $term . "\n";

list($headers, $json) = BingNewsSearch($endpoint, $accessKey, $term, $site);

【问题讨论】:

    标签: api azure search bing bing-news-search-api


    【解决方案1】:

    这里有几个问题。 1) 端点应该在末尾有 /search,2) 您试图将结果限制在 aaa、bbb、ccc 和 ddd 域中。你真的需要那个吗? 3) 使用 mkt 参数而不是 ccsetLang 参数。此外,cc=CR 似乎不是正确的值。

    您可以在此处查看支持的市场:https://docs.microsoft.com/en-us/rest/api/cognitiveservices/bing-news-api-v7-reference

    【讨论】:

    • 您好!谢谢您的回答。好吧,1)谢谢!我发现使用 /news 允许我进行域限制,但使用 /news /search 不会。但是,计数和偏移仅适用于 /news/search.... 2) 是 3)cc 为我带来了更好的结果,并且文档说:“如果语言列表不包含支持的语言,Bing 会找到最接近的语言并支持该请求的市场。”.....“最接近”对我有用。再次感谢您的快速回复。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多