Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Wykonaj pierwsze wywołanie interfejsu Microsoft Web IQ REST API w ciągu kilku minut. Przeszukasz internet, sprawdzisz odpowiedź, a następnie wyodrębnisz zawartość ze znanego adresu URL.
Klucze API to najszybszy sposób oceny Web IQ. W przypadku obciążeń produkcyjnych użyj Microsoft Entra ID.
Prerequisites
- Klucz API Web IQ z Profile Management.
Tip
Za pomocą Web IQ Playground wysyłaj żądania z przeglądarki i generuj kod w językach cURL, Python, JavaScript, C#, Java, Go i Ruby.
1. Przechowuj swój klucz API
Umieść klucz w zmiennej środowiskowej, aby przykłady żądań go nie powtarzały ani aby nie umieszczać go w kodzie źródłowym.
macOS lub Linux
export WEBIQ_API_KEY="your-api-key"
Windows PowerShell
$env:WEBIQ_API_KEY="your-api-key"
Warning
Nie commituj klucza do kontroli wersji ani nie udostępniaj go w przeglądarce lub kodzie po stronie klienta. Przechowuj poświadczenia produkcyjne w menedżerze sekretów.
2. Przeszukaj internet
Użyj wyszukiwania w sieci Web, gdy masz pytanie lub zapytanie i chcesz, aby Web IQ znajdował i klasyfikował odpowiednie strony.
Zalecamy ustawienie maxResults = 10, contentFormat = passage i maxLength = 3000 dla każdego żądania jako optymalny punkt pracy. W tym miejscu możesz dostosować te ustawienia w zależności od przypadku użycia.
Punkt końcowy:POST https://api.microsoft.ai/v3/search/web
cURL
curl --request POST "https://api.microsoft.ai/v3/search/web" \
--header "x-apikey: $WEBIQ_API_KEY" \
--header "content-type: application/json" \
--data '{
"query": "latest developments in retrieval augmented generation",
"maxResults": 10,
"contentFormat": "passage",
"maxLength": 3000
}'
Python
import os
import json
import requests
response = requests.post(
"https://api.microsoft.ai/v3/search/web",
headers={
"x-apikey": os.environ["WEBIQ_API_KEY"],
"content-type": "application/json",
},
json={
"query": "latest developments in retrieval augmented generation",
"maxResults": 10,
"contentFormat": "passage",
"maxLength": 3000,
},
timeout=30,
)
response.raise_for_status()
print(json.dumps(response.json(), indent=2))
JavaScript
Zapisz ten przykład jako search.mjs i uruchom go za pomocą polecenia node search.mjs.
const response = await fetch("https://api.microsoft.ai/v3/search/web", {
method: "POST",
headers: {
"x-apikey": process.env.WEBIQ_API_KEY,
"content-type": "application/json",
},
body: JSON.stringify({
query: "latest developments in retrieval augmented generation",
maxResults: 10,
contentFormat: "passage",
maxLength: 3000,
}),
});
if (!response.ok) {
throw new Error(`Web Search failed: ${response.status} ${await response.text()}`);
}
console.log(JSON.stringify(await response.json(), null, 2));
3. Zrozumienie odpowiedzi
Pomyślne wyszukiwanie w sieci Web zwraca tablicę webResults . W tym skróconym przykładzie pokazano pola, których najczęściej używasz:
{
"webResults": [
{
"title": "Example result",
"url": "https://example.com/article",
"content": "The query-relevant passage extracted from the page...",
"crawledAt": "2026-07-18T12:00:00Z"
}
],
"traceId": "00000000000000000000000000000000"
}
-
titleiurlidentyfikują źródło. -
contentzawiera fragment odpowiadający zapytaniu, ponieważ w żądaniu użytocontentFormat: "passage". -
traceIdPomaga pomocy technicznej Web IQ zbadać żądanie.
W przypadku odpowiedzi REST i wyników narzędzia MCP pola modelu z wartościami "", pustym ciągiem (null) lub pustą listą/tablicą ([]) są pomijane, w tym pola zagnieżdżonych obiektów wyników. Traktuj nieobecne pole ciągu znaków jako niedostępne i nieobecne pole listy jako nieposiadające elementów. Ciągi zawierające wyłącznie białe znaki, false, 0, puste słowniki, poszczególne wpisy tablicy/słownika i osadzone nieprzetworzone dane JSON są zachowywane. Tablice korzeniowe i kolekcje w obwiedni protokołu, takie jak MCP content, są niezmienione.
Zobacz dokumentację interfejsu API wyszukiwania w Sieci Web , aby zapoznać się ze wszystkimi parametrami i polami odpowiedzi.
4. Wybierz pozycję Wyszukiwanie w Sieci Web lub Przeglądaj
| Rozpocznij od | Używanie | Co otrzymujesz |
|---|---|---|
| Pytanie lub zapytanie wyszukiwania | Wyszukiwanie w Sieci Web | Sklasyfikowane strony z zawartością odpowiednią dla zapytań |
| Konkretny adres URL | Przeglądaj | Wyodrębniona zawartość z tej strony |
Typowy workflow groundingu używa obu punktów końcowych: wyszukiwanie odpowiednich źródeł, wybieranie adresu URL wyniku, a następnie przeglądanie tego adresu URL, gdy potrzebujesz pełniejszej zawartości strony.
5. Wyodrębnianie zawartości z adresu URL
Użyj opcji Przeglądaj, gdy już wiesz, którą stronicę chcesz odczytać.
liveCrawl: "fallback" prosi Web IQ o przeszukanie strony, gdy nie jest ona jeszcze dostępna w indeksie.
Punkt końcowy:POST https://api.microsoft.ai/v3/browse
cURL
curl --request POST "https://api.microsoft.ai/v3/browse" \
--header "x-apikey: $WEBIQ_API_KEY" \
--header "content-type: application/json" \
--data '{
"url": "https://news.microsoft.com/source/",
"contentFormat": "markdown",
"maxLength": 3000,
"liveCrawl": "fallback"
}'
Python
import os
import json
import requests
response = requests.post(
"https://api.microsoft.ai/v3/browse",
headers={
"x-apikey": os.environ["WEBIQ_API_KEY"],
"content-type": "application/json",
},
json={
"url": "https://news.microsoft.com/source/",
"contentFormat": "markdown",
"maxLength": 3000,
"liveCrawl": "fallback",
},
timeout=30,
)
response.raise_for_status()
print(json.dumps(response.json(), indent=2))
JavaScript
Zapisz ten przykład jako browse.mjs i uruchom go za pomocą polecenia node browse.mjs.
const response = await fetch("https://api.microsoft.ai/v3/browse", {
method: "POST",
headers: {
"x-apikey": process.env.WEBIQ_API_KEY,
"content-type": "application/json",
},
body: JSON.stringify({
url: "https://news.microsoft.com/source/",
contentFormat: "markdown",
maxLength: 3000,
liveCrawl: "fallback",
}),
});
if (!response.ok) {
throw new Error(`Browse failed: ${response.status} ${await response.text()}`);
}
console.log(JSON.stringify(await response.json(), null, 2));
Pomyślna odpowiedź 200 obejmuje stronę url, title, wyodrębnione content oraz element traceId. Przeszukiwanie na żywo może zwrócić wartość 202 ze stanem retryAfter; zaczekaj ten czas, a następnie ponownie wyślij to samo żądanie. Zapoznaj się z dokumentacją referencyjną interfejsu Browse API, aby uzyskać pełną specyfikację odpowiedzi.
Troubleshooting
| Status | Co należy sprawdzić? |
|---|---|
401 Unauthorized |
Potwierdź, że WEBIQ_API_KEY jest ustawione, a żądanie wysyła tę wartość w nagłówku x-apikey. |
415 Unsupported Media Type |
Wyślij content-type: application/json. |
429 Too Many Requests |
Poczekaj, zanim ponowisz próbę i zmniejsz częstotliwość żądań. |
Przeglądaj… 404 Not Found |
Upewnij się, że adres URL jest publiczny i prawidłowy. Użyj liveCrawl: "fallback", gdy indeksowana zawartość może być niedostępna. |
Przeglądaj… 202 Accepted |
Poczekaj czas zwrócony w retryAfter, a następnie spróbuj ponownie wykonać to samo żądanie. |
W przypadku innych niepowodzeń zapisz traceId i zobacz Obsługa błędów lub skontaktuj się z Web IQ Support.
Następne kroki
- Zapoznaj się z dokumentacją interfejsu API wyszukiwania w sieci Web i Browse.
- Użyj zestawów SDK Python i TypeScript.
- Zainstaluj serwer MCP w programie Claude Code, Cursor lub VS Code.
- Skonfiguruj uwierzytelnianie produkcyjne przy użyciu Microsoft Entra ID.