Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Alle v3-API's retourneren gestandaardiseerde foutreacties om u te helpen problemen snel vast te stellen en op te lossen. In deze sectie worden HTTP-statuscodes, structuur van foutreacties en veelvoorkomende scenario's voor probleemoplossing beschreven.
Note
Alle tekenreeksenumwaarden zijn hoofdlettergevoelig.
HTTP-statuscodes
| Statuscode | Van toepassing op | Foutcategorie | Description | Veelvoorkomende oorzaken |
|---|---|---|---|---|
| 200 | Alle API’s | Success | Het verzoek slaagde. | - |
| 202 | Alleen bladeren | Accepted | Aanvraag geaccepteerd voor verwerking (live verkenning). | Verkennen op aanvraag wordt uitgevoerd |
| 400 | Alle API’s | Onjuiste aanvraag | Ongeldige aanvraagparameters. | Ontbrekende vereiste velden, ongeldige parameterwaarden, ongeldige JSON |
| 401 | Alle API’s | Niet geautoriseerd | Verificatie is mislukt of ontbreekt. | Ongeldige API-sleutel, ontbrekende x-apikey-header |
| 403 | Alle API’s | Verboden | Geldige referenties, maar onvoldoende machtigingen. | API-sleutel heeft geen vereiste machtigingen |
| 403 | Alleen bladeren | Verboden | Inhoud gefilterd of uitgesloten URL. | URL geblokkeerd door beleid of inhoud gefilterd |
| 404 | Alleen bladeren | Niet gevonden | Het document is niet gevonden. | Ongeldige of niet-toegankelijke URL |
| 410 | Alle API’s | Weg | HTTPS vereist. | Aanvraag via HTTP in plaats van HTTPS |
| 415 | Alle API’s | Niet-ondersteund mediatype | Inhoudstype wordt niet ondersteund. | Ontbrekende of onjuiste content-type header |
| 429 | Alle API’s | Te veel aanvragen | De snelheidslimiet is overschreden. | Te veel aanvragen in tijdvenster |
| 430 | Alleen bladeren | Serverfout | Te veel verkenningen op aanvraag. | Overmatige live verkenningsaanvragen |
| 500 | Alle API’s | Interne serverfout | Onverwachte serverfout. | Probleem met tijdelijke server |
Foutreactiestructuur
Alle foutberichten volgen dit schema:
| Veld | Type | Description |
|---|---|---|
errorCode |
string | Een gedetailleerdere foutcategorie waarmee u het type fout kunt identificeren. |
errorCategory |
string | Categorie op hoog niveau: UserError (clientzijde/ niet opnieuw kan worden geprobeerd) of SystemError (server-side/retryable). |
userMessage |
string | Beschrijving van door mensen leesbare fouten. |
technicalDetails |
tekenreeks (optioneel) | Aanvullende technische informatie of parametervalidatiedetails voor foutopsporing. |
retryAfter |
tekenreeks (optioneel) | Tijd om te wachten voordat u het opnieuw probeert. |
requestId |
tekenreeks (optioneel) | Unieke id voor de aanvraag. |
traceId |
string | Gedistribueerde tracerings-id voor foutopsporing en Microsoft ondersteuning. |
Note
202 Accepted antwoorden (bijvoorbeeld bladeren door live verkenningspeiling) zijn geen foutreacties en maken geen gebruik van het bovenstaande foutschema. Ze kunnen nog steeds een retryAfter waarde bevatten om aan te geven wanneer de aanvraag opnieuw moet worden uitgevoerd.
Voorbeeld van foutreactie:
{
"errorCode": "HandlerInvalidInput",
"errorCategory": "UserError",
"userMessage": "Invalid input provided. Please check your request parameters.",
"technicalDetails": "Parameter validation failed: maxResults=100 exceeds maximum=50",
"requestId": "req_abc123",
"traceId": "trace_xyz789"
}
Naslaginformatie over foutcodes
Validatiefouten aanvragen
| Foutcode | HTTP-status | Category | Description |
|---|---|---|---|
RequestInvalidFormat |
400 | UserError |
Ongeldige JSON-hoofdtekst of ongeldige structuur voor nettoladingen van aanvragen. |
RequestInvalidMethod |
400 | UserError |
Ongeldige methode of naam van het hulpprogramma die is opgegeven in de aanvraag. |
HandlerInvalidInput |
400 | UserError |
Ongeldige invoerparameterwaarden (bijvoorbeeld een lege query, maxResults buiten het bereik [1, 50], ongeldige enumwaarden). |
RequestBlockedHeader |
400 | UserError |
Aanvraag bevat een bloklijst met foutopsporing/variantheader (bijvoorbeeld X-Augmentations, X-DebugOptions, ). X-XapHostOverride Gebruik in plaats daarvan gedocumenteerde URL-parameters (?p1=, ?debugoptions=, ?atlahostname=). |
RequestUnsupportedMediaType |
415 | UserError |
De content-type header ontbreekt of niet application/json. |
MethodNotAllowed |
405 | UserError |
De HTTP-methode is niet toegestaan op de route (bijvoorbeeld GET op een ALLEEN-POST-eindpunt). |
Verificatie- en autorisatiefouten
| Foutcode | HTTP-status | Category | Description |
|---|---|---|---|
AuthNoToken |
401 | UserError |
Verificatie is vereist. Er is geen bearer-token of API-sleutel opgegeven. |
AuthTokenParse |
401 | UserError |
Ongeldige indeling van verificatietoken of tokenparsering is mislukt. |
AuthInvalidApiKey |
401 | UserError |
De opgegeven API-sleutel is ongeldig of niet herkend. |
AuthenticationFailed |
401 | UserError |
Algemene verificatiefout. |
AuthExpiredTrial |
401 | UserError |
De proefperiode is verlopen. Voer een upgrade uit van uw sleutel. |
AuthMissingEntryId |
400 | UserError |
Ontbrekende toepassings-id/vermeldings-id in aanvraagcontext. |
AuthAppIdSelectionRequired |
400 | UserError |
Uw identiteit wordt toegewezen aan meerdere toepassingen. Geef de doeltoepassing op met behulp van de APPID queryparameter. Zie Meer dan één AppID aanroepen. |
AuthUnauthorizedEntryId |
401 | UserError |
Niet-geautoriseerde vermeldings-id. De toepassings-id kan niet worden omgezet of de APPID queryparameter is verzonden met API-sleutelverificatie. |
AuthUnauthorizedAppId |
403 | UserError |
Het opgegeven APPID is niet gekoppeld aan uw identiteit. |
AuthUnauthorizedService |
403 | UserError |
De beller wordt geverifieerd, maar is niet gemachtigd om toegang te krijgen tot de aangevraagde service/verticaal. |
AuthBatchEndpointRequired |
403 | UserError |
De toepassing is vereist voor het gebruik van het batch-eindpunt (X-FD-Batch: 1) voor zoekopdrachten op internet. |
AuthMcpWebForbidden |
403 | UserError |
Toepassing is niet toegestaan om het MCP-hulpprogramma web te gebruiken. |
AuthContentFormatForbidden |
403 | UserError |
Deze toepassing heeft alleen toegang tot passages. Gebruik contentFormatpassage. Zie Passages en inhoudsindelingen. |
Snelheidsbeperkingsfouten
| Foutcode | HTTP-status | Category | Description |
|---|---|---|---|
AuthUserThrottled |
429 | UserError |
De aanvraagfrequentie overschrijdt de frequentielimiet van uw resource. Controleer retryAfter. |
AuthUserDailyUsageExceeded |
429 | UserError |
Het dagelijkse aanvraagquotum is bereikt (wordt opnieuw ingesteld om 00:00 UTC). Controleer retryAfter. |
Door API-specifieke fouten bladeren
| Foutcode | HTTP-status | Category | Description |
|---|---|---|---|
BrowseApiDocNotFound |
404 | UserError |
Het document is niet gevonden. Er is geen inhoud beschikbaar voor de opgegeven URL. |
BrowseApiIsFilteredOut |
403 | UserError |
Het resultaat is verwijderd vanwege beleid of inhoudsfiltering. |
BrowseApiIsUrlExcluded |
403 | UserError |
De doel-URL wordt uitgesloten of niet toegestaan door beleid. |
BrowseApiTooManyOnDemandCrawls |
430 | UserError |
Er worden te veel live verkenningsaanvragen op aanvraag uitgevoerd. |
Service- en infrastructuurfouten
| Foutcode | HTTP-status | Category | Opnieuw proberen | Description |
|---|---|---|---|---|
InternalServerError |
500 | SystemError |
Ja (30s) | Interne serverfout. |
Veelvoorkomende foutscenario's
Verificatiefouten (401, 403)
Symptoom: Verificatie mislukte of verboden toegang
Oplossingen:
- Controleer of uw API-sleutel juist is en is opgenomen in de
x-apikeyheader - Controleer of uw API-sleutel niet is verlopen
- Zorg ervoor dat u over de vereiste machtigingen voor het eindpunt beschikt
- Neem contact op met uw Microsoft vertegenwoordiger als de problemen zich blijven voordoen
Example:
# Correct authentication
curl -X POST "https://api.microsoft.ai/v3/search/web" \
-H "x-apikey: your-valid-key-here" \
-H "content-type: application/json" \
-d '{"query": "test"}'
Snelheidsbeperking (429)
Symptoom: Frequentielimiet overschreden of dagelijks quotum uitgeput (AuthUserThrottled of AuthUserDailyUsageExceeded)
Aanvragen boven de frequentielimiet van uw resource retourneren HTTP 429. Uw frequentielimiet wordt weergegeven in de Web IQ-portal.
Oplossingen:
- Logica voor nieuwe pogingen met exponentiële wachttijdverhoging implementeren
- Wacht op het
retryAfterinterval in de foutreactie (bijvoorbeeld"60s") voordat u het opnieuw probeert - Aanvraagfrequentie verlagen
- Houd er rekening mee dat dagelijkse quotumlimieten (
AuthUserDailyUsageExceeded) dagelijks om 00:00 UTC opnieuw worden ingesteld - Neem contact op met Web IQ Support om een hogere limiet aan te vragen
Voorbeeldantwoord:
{
"errorCode": "AuthUserThrottled",
"errorCategory": "UserError",
"userMessage": "Rate limit exceeded. Please reduce your request frequency.",
"retryAfter": "60s",
"requestId": "req_123",
"traceId": "trace_456"
}
Ongeldige parameters (400)
Symptoom: Ongeldige aanvraag vanwege ongeldige parameters
Algemene problemen:
- Vereiste velden ontbreken (bijvoorbeeld
queryparameter) - Parameterwaarden buiten het bereik (bijvoorbeeld
maxResults> 50) - Ongeldige parametertypen (bijvoorbeeld tekenreeks in plaats van geheel getal)
- Niet-ondersteunde parameterwaarden (bijvoorbeeld ongeldig
contentFormat)
Oplossingen:
- Controleer of alle vereiste parameters aanwezig zijn
- Parameterwaarden controleren op gedocumenteerde beperkingen
- De juiste JSON-opmaak controleren
Server- en infrastructuurfouten (500)
Symptoom: Onverwachte interne server- of upstreamservicefout (InternalServerError)
Oplossingen:
- Controleer het
retryAfterveld (standaard ingesteld op"30s") en voer de aanvraag opnieuw uit na het wachten - Retries implementeren met exponentiële back-off en jitter
- Als het probleem zich blijft voordoen, neemt u contact op met Microsoft ondersteuning bij het
traceIdantwoord
Voorbeeldantwoord:
{
"errorCode": "InternalServerError",
"errorCategory": "SystemError",
"userMessage": "The service is temporarily unavailable. Please try again later.",
"technicalDetails": "An internal service error occurred. Please contact support if the issue persists.",
"retryAfter": "30s",
"traceId": "trace_456"
}
Door api geaccepteerd antwoord bladeren (202)
Symptoom: Geaccepteerd antwoord met retryAfter veld
Uitleg: Wanneer liveCrawl deze is ingesteld op 'terugval' en de URL moet worden verkend, retourneert de API 202 Geaccepteerd met een retryAfter waarde die aangeeft wanneer de aanvraag opnieuw moet worden uitgevoerd.
Verwerking:
# Initial request
curl -X POST "https://api.microsoft.ai/v3/browse" \
-H "x-apikey: your-key" \
-H "content-type: application/json" \
-d '{"url": "https://example.com", "liveCrawl": "fallback"}'
# Response: 202 Accepted with retryAfter
# Wait for the specified time, then retry the same request
Aanbevolen procedures
- Statuscodes altijd controleren - Niet aannemen dat de statuscodes zijn geslaagd
- TraceId gebruiken voor ondersteuning - TraceId opnemen bij het contact opnemen met ondersteuning
- Logica voor opnieuw proberen implementeren - Exponentieel uitstel gebruiken voor tijdelijke fouten
- 202-antwoorden verwerken - Voor bladeren-API met live crawl, wacht en probeer het opnieuw
- Valideren voordat u verzendt - Controleer de parameters lokaal om 400 fouten te voorkomen
- Alleen HTTPS gebruiken - HTTP-aanvragen retourneren 410 fouten