azure — пользовательский поиск Bing с использованием переполнения стека

Я нахожусь в процессе тестирования нового пользовательского поиска Bing с использованием приведенного ниже кода PHP. Результатом является пустой белый экран без ошибок. Это потому, что этот сервис все еще находится в бета-режиме?

<?php
$sURL = "https://api.cognitive.microsoft.com/bingcustomsearch/v5.0/search?q=dogs&customconfig=[mycustomconfigvalue]&responseFilter=Webpages&mkt=en-us&safesearch=Moderate";
$key = "[myPrimaryKey]";$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $sURL);
curl_setopt($ch, CURLOPT_TIMEOUT, '1');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 'ocp-apim-subscription-key:$key');
$content = curl_exec($ch);

echo $content;
?>

Когда я пытаюсь проверить, работают ли ключи API для меня с помощью Postman, я получаю сообщение об ошибке «Не могу получить ответ».

Однако, если я попробую те же значения в https://customsearch.ai в разделе конечных точек он отлично работает, отображая ответ.

Может кто-нибудь, пожалуйста, дайте мне знать, что я не могу запустить код, используя мой собственный код PHP?

Спасибо

0

Решение

3 Ошибки:

1 — CURLOPT_HEADER отличается от CURLOPT_HTTPHEADER,
2 — CURLOPT_HTTPHEADER занимает array в качестве аргумента, а не string,
3 — Переменные ($key) только расширяться внутрь двойные кавычки.

Пытаться:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $sURL);
curl_setopt($ch, CURLOPT_TIMEOUT, 1); # you may want increase this value
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["ocp-apim-subscription-key:$key"]);
$content = curl_exec($ch);
1

Другие решения

Я ответил на это где-то. Вот рабочий фрагмент php. Просто замените YOUR_QUERY, YOUR_KEY и YOUR_CUSTOMCONFIG.

$endpoint = 'https://api.cognitive.microsoft.com/bingcustomsearch/v7.0/search';
$term = 'YOUR_QUERY';
$headers = "Ocp-Apim-Subscription-Key: YOUR_KEY\r\n";
$options = array ('http' => array (
'header' => $headers,
'method' => 'GET'));
$context = stream_context_create($options);
$result = file_get_contents($url . "?q=" . urlencode($query) . "&customconfig=YOUR_CUSTOMCONFIG&responseFilter=Webpages&mkt=en‌​-us&safesearch=Moder‌​ate", false, $context);
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector