Antwortstruktur und Antworttypen der Bing-Websuche-APIBing Web Search API response structure and answer types

Wenn Sie eine Suchanforderung an die Bing-Websuche senden, wird im Antworttext ein SearchResponse-Objekt zurückgegeben.When you send Bing Web Search a search request, it returns a SearchResponse object in the response body. Das Objekt enthält jeweils ein Feld für jede Antwort, die nach Bewertung von Bing für die Abfrage relevant ist.The object includes a field for each answer that Bing determined was relevant to query. In diesem Beispiel wird ein Antwortobjekt gezeigt, bei dem Bing alle Antworten zurückgegeben hat:This example illustrates a response object if Bing returned all answers:

{
    "_type": "SearchResponse",
    "queryContext": {...},
    "webPages": {...},
    "images": {...},
    "relatedSearches": {...},
    "videos": {...},
    "news": {...},
    "spellSuggestion": {...},
    "computation": {...},
    "timeZone": {...},
    "rankingResponse": {...}
}, ...

Normalerweise wird bei der Bing-Websuche eine Teilmenge der Antworten zurückgegeben.Typically, Bing Web Search returns a subset of the answers. Wenn der Abfrageausdruck beispielsweise sailing dinghies war, kann die Antwort webPages, images und rankingResponse enthalten.For example, if the query term was sailing dinghies, the response might include webPages, images, and rankingResponse. Sofern Sie nicht responseFilter zum Herausfiltern von Webseiten verwendet haben, umfasst die Antwort immer webpages- und rankingResponse-Antworten.Unless you've used responseFilter to filter out webpages, the response always includes the webpages and rankingResponse answers.

Hinweis

Da sich URL-Formate und -Parameter ohne Vorankündigung ändern können, verwenden Sie alle URLs in der vorliegenden Form.Because URL formats and parameters are subject to change without notice, use all URLs as-is. Es sollten keine Abhängigkeiten von URL-Format oder -Parametern bestehen, außer wenn dies angegeben ist.You should not take dependencies on the URL format or parameters except where noted.

Antwort zu WebseitenWebpages answer

Die Antwort vom Typ webPages enthält eine Liste mit Links zu Webseiten, die nach Bewertung der Bing-Websuche für die Abfrage relevant sind.The webPages answer contains a list of links to webpages that Bing Web Search determined were relevant to the query. Jede Webseite in der Liste beinhaltet den Namen der Seite, die URL, die Anzeige-URL, eine kurze Beschreibung des Inhalts und das Datum, an dem Bing den Inhalt gefunden hat.Each web page in the list will include: the page's name, url, display URL, a short description of the content, and the date Bing found the content.

{
    "id": "https:\/\/api.cognitive.microsoft.com\/api\/v7\/#WebPages.0",
    "name": "Dinghy sailing",
    "url": "https:\/\/www.bing.com\/cr?IG=3A43CA5...",
    "displayUrl": "https:\/\/en.contoso.com\/wiki\/Dinghy_sailing",
    "snippet": "Dinghy sailing is the activity of sailing small boats...",
    "dateLastCrawled": "2017-04-05T16:25:00"
}, ...

Verwenden Sie name und url, um einen Hyperlink zu erstellen, über den der Benutzer zu der Webseite geleitet wird.Use name and url to create a hyperlink that takes the user to the webpage.

BildantwortImages answer

Die Antwort vom Typ images enthält eine Liste mit Bildern, die nach Einschätzung von Bing für die Abfrage relevant sind.The images answer contains a list of images that Bing thought were relevant to the query. Jedes Bild in der Liste enthält die URL, die Größe, die Abmessungen und das Codierungsformat des Bilds.Each image in the list includes the URL of the image, its size, its dimensions, and its encoding format. Darüber hinaus enthält das Bildobjekt die URL einer Miniaturansicht des Bilds sowie die Abmessungen der Miniaturansicht.The image object also includes the URL of a thumbnail of the image and the thumbnail's dimensions.

{
    "name": "Rich Passage Sailing Dinghy",
    "webSearchUrl": "https:\/\/www.bing.com\/cr?IG=3A43CA5CA64...",
    "thumbnailUrl": "https:\/\/tse1.mm.bing.net\/th?id=OIP....",
    "datePublished": "2011-10-29T11:26:00",
    "contentUrl": "http:\/\/upload.contoso.com\/sailing\/...",
    "hostPageUrl": "http:\/\/www.bing.com\/cr?IG=3A43CA5CA6464....",
    "contentSize": "79239 B",
    "encodingFormat": "jpeg",
    "hostPageDisplayUrl": "http:\/\/en.contoso.com\/wiki\/File...",
    "width": 526,
    "height": 688,
    "thumbnail": {
        "width": 229,
        "height": 300
    },
    "insightsSourcesSummary": {
        "shoppingSourcesCount": 0,
        "recipeSourcesCount": 0
    }
}, ...

Abhängig vom Gerät des Benutzers zeigen Sie normalerweise eine Teilmenge der Miniaturansichten an und bieten dem Benutzer die Möglichkeit, durch die restlichen Bilder zu blättern.Depending on the user's device, you'd typically display a subset of the thumbnails, with an option for the user to page through the remaining images.

Die Miniaturansicht kann erweitert werden, wenn der Benutzer mit dem Cursor darauf zeigt.You can also expand the thumbnail as the user hovers the cursor over it. Wenn das Bild erweitert wird, muss die Quelle angegeben werden.Be sure to attribute the image if you expand it. Hierzu können Sie beispielsweise den Host aus hostPageDisplayUrl extrahieren und unter dem Bild anzeigen.For example, by extracting the host from hostPageDisplayUrl and displaying it below the image. Informationen zum Ändern der Größe der Miniaturansicht finden Sie unter Resizing and cropping thumbnail images (Ändern der Größe und Zuschneiden von Miniaturansichten).For information about resizing the thumbnail, see Resizing and Cropping Thumbnails.

Wenn der Benutzer auf die Miniaturansicht klickt, verwenden Sie webSearchUrl, um den Benutzer zu der Bing-Suchergebnisseite für Bilder weiterzuleiten, die eine Collage der Bilder enthält.If the user clicks the thumbnail, use webSearchUrl to take the user to Bing's search results page for images, which contains a collage of the images.

Ausführliche Informationen zu der Bildantwort und den Bildern finden Sie unter Bing-Bildersuche-API.For details about the image answer and images, see Image Search API.

Die Antwort vom Typ relatedSearches enthält eine Liste der am häufigsten von anderen Benutzern durchgeführten verwandten Abfragen.The relatedSearches answer contains a list of the most popular related queries made by other users. Jede Abfrage in der Liste beinhaltet eine Abfragezeichenfolge (text), eine Abfragezeichenfolge mit Treffermarkierungszeichen (displayText) und eine URL (webSearchUrl) zu der Bing-Suchergebnisseite für die Abfrage.Each query in the list includes a query string (text), a query string with hit highlighting characters (displayText), and a URL (webSearchUrl) to Bing's search results page for that query.

{
    "text": "dinghy racing teams",
    "displayText": "dinghy racing teams",
    "webSearchUrl": "https:\/\/www.bing.com\/cr?IG=96C4CF214A0..."
}, ...

Verwenden Sie die Abfragezeichenfolge displayText und die URL webSearchUrl, um einen Hyperlink zu erstellen, über den der Benutzer zu der Bing-Suchergebnisseite für die verwandte Abfrage geleitet wird.Use the displayText query string and the webSearchUrl URL to create a hyperlink that takes the user to the Bing search results page for the related query. Außerdem können Sie die Abfragezeichenfolge text in Ihrer eigenen Abfrage mit der Websuche-API verwenden und die Ergebnisse selbst anzeigen.You could also use the text query string in your own Web Search API query and display the results yourself.

Informationen zur Verwendung der Treffermarkierungen in displayText finden Sie unter Treffermarkierung.For information about how to handle the highlighting markers in displayText, see Hit Highlighting.

Nachfolgend sehen Sie ein Beispiel für die Verwendung verwandter Abfragen in Bing.com.The following shows an example of the related queries usage in Bing.com.

Beispiel für verwandte Suchvorgänge in Bing

Antwort zu VideosVideos answer

Die Antwort vom Typ videos enthält eine Liste mit Videos, die nach Einschätzung von Bing für die Abfrage relevant sind.The videos answer contains a list of videos that Bing thought were relevant to the query. Jedes Video in der Liste enthält die URL, die Dauer, die Abmessungen und das Codierungsformat des Videos.Each video in the list includes the URL of the video, its duration, its dimensions, and its encoding format. Darüber hinaus enthält das Videoobjekt die URL einer Miniaturansicht des Videos sowie die Abmessungen der Miniaturansicht.The video object also includes the URL of a thumbnail of the video and the thumbnail's dimensions.

{
    "name": "Sailing dinghy",
    "description": "Northwind Traders is a 12 foot gunter rigged...",
    "webSearchUrl": "https:\/\/www.bing.com\/cr?IG=1CAE739681D84...",
    "thumbnailUrl": "https:\/\/tse2.mm.bing.net\/th?id=OVP.wsKiL...",
    "datePublished": "2013-11-06T01:56:28",
    "publisher": [{
        "name": "Fabrikam"
    }],
    "contentUrl": "https:\/\/www.fabrikam.com\/watch?v=MrVBWZpJjX",
    "hostPageUrl": "https:\/\/www.bing.com\/cr?IG=1CAE739681D8400DB...",
    "encodingFormat": "mp4",
    "hostPageDisplayUrl": "https:\/\/www.fabrikam.com\/watch?v=MrBWZpJjXo",
    "width": 1280,
    "height": 720,
    "duration": "PT3M47S",
    "motionThumbnailUrl": "https:\/\/tse2.mm.bing.net\/th?id=OM.oa...",
    "embedHtml": "<iframe width=\"1280\" height=\"720\" src=\"http:\/\/www....><\/iframe>",
    "allowHttpsEmbed": true,
    "viewCount": 19089,
    "thumbnail": {
        "width": 300,
        "height": 168
    },
    "allowMobileEmbed": true,
    "isSuperfresh": false
}, ...

Abhängig vom Gerät des Benutzers zeigen Sie normalerweise eine Teilmenge der Videos an, mit einer Möglichkeit für den Benutzer, die restlichen Videos anzuzeigen.Depending on the user's device, you'd typically display a subset of the videos with an option for the user to view the remaining videos. Sie zeigen z.B. eine Miniaturansicht des Videos mit der Länge, der Beschreibung (Name) und der Quelle (Herausgeber) des Videos an.You'd display a thumbnail of the video with the video's length, description (name), and attribution (publisher).

Wenn der Benutzer auf die Miniaturansicht zeigt, können Sie motionThumbnailUrl verwenden, um eine Miniaturansichtversion des Videos wiederzugeben.As the user hovers over the thumbnail you can use motionThumbnailUrl to play a thumbnail version of the video. Vergessen Sie bei der Anzeige der bewegten Miniaturansicht nicht, die Quelle anzugeben.Be sure to attribute the motion thumbnail when you display it.

Wenn der Benutzer auf die Miniaturansicht klickt, stehen folgende Optionen zum Anzeigen des Videos zur Verfügung:If the user clicks the thumbnail, the following are the video viewing options:

  • Verwenden Sie hostPageUrl, um das Video auf der Website des Hosts anzuzeigen (z.B. YouTube).Use hostPageUrl to view the video on the host website (for example, YouTube)
  • Verwenden Sie webSearchUrl, um das Video im Bing-Videobrowser anzuzeigen.Use webSearchUrl to view the video in the Bing video browser
  • Verwenden Sie embedHtml, um das Video in Ihrer Benutzeroberfläche einzubetten.Use embedHtml to embed the video in your own experience

Ausführliche Informationen zur Videoantwort und zu Videos finden Sie unter Bing-Videosuche-API.For details about the video answer and videos, see Video Search API.

Antwort zu NachrichtenartikelnNews answer

Die Antwort vom Typ news enthält eine Liste mit Nachrichtenartikeln, die nach Einschätzung von Bing für die Abfrage relevant sind.The news answer contains a list of news articles that Bing thought were relevant to the query. Jeder Nachrichtenartikel in der Liste beinhaltet den Namen des Artikels, eine Beschreibung und die URL zu dem Artikel auf der Website des Hosts.Each news article in the list includes the article's name, description, and URL to the article on the host's website. Wenn der Artikel ein Bild enthält, umfasst das Objekt eine Miniaturansicht des Bilds.If the article contains an image, the object includes a thumbnail of the image.

{
    "name": "WC Sailing Qualifies for America Trophy with...",
    "url": "http:\/\/www.bing.com\/cr?IG=3445EEF15DAF4FFFBF7...",
    "image": {
        "contentUrl": "http:\/\/www.contoso.com\/sports\/sail...",
        "thumbnail": {
            "contentUrl": "https:\/\/www.bing.com\/th?id=ON.1...",
            "width": 400,
            "height": 272
        }
    },
    "description": "The WC sailing team qualified for a...",
    "provider": [{
        "_type": "Organization",
        "name": "contoso.com"
    }],
    "datePublished": "2017-04-16T21:56:00"
}, ...

Abhängig vom Gerät des Benutzers zeigen Sie normalerweise eine Teilmenge der Nachrichtenartikel an, mit einer Möglichkeit für den Benutzer, die restlichen Artikel anzuzeigen.Depending on the user's device, you'd display a subset of the news articles with an option for the user to view the remaining articles. Verwenden Sie name und url, um einen Hyperlink zu erstellen, über den der Benutzer zu dem Nachrichtenartikel auf der Website des Hosts geleitet wird.Use name and url to create a hyperlink that takes the user to the news article on the host's site. Wenn der Artikel ein Bild enthält, machen Sie das Bild mithilfe von url klickbar.If the article includes an image, make the image clickable using url. Vergessen Sie nicht, mit provider die Quelle anzugeben.Be sure to use provider to attribute the article.

Ausführliche Informationen zu der News-Antwort und zu Nachrichtenartikeln finden Sie unter News-Suche-API.For details about the news answer and news articles, see News Search API.

Antwort zu BerechnungenComputation answer

Wenn der Benutzer einen mathematischen Ausdruck oder eine Abfrage zur Einheitenumrechnung eingibt, enthält die Antwort möglicherweise eine Antwort vom Typ Computation.If the user enters a mathematical expression or a unit conversion query, the response may contain a Computation answer. Die Antwort vom Typ computation enthält den normalisierten Ausdruck und das zugehörige Ergebnis.The computation answer contains the normalized expression and its result.

Eine Abfrage zur Einheitenumrechnung ist eine Abfrage, bei der eine Einheit in eine andere umgerechnet wird.A unit conversion query is a query that converts one unit to another. Beispiel: Wieviel Fuß sind 10 Meter? oder Wie viele Teelöffel sind 1/4 Tasse?For example, How many feet in 10 meters? or How many tablespoons in a 1/4 cup?

Im folgenden Beispiel wird die Antwort vom Typ computation für Wieviel Fuß sind 10 Meter? gezeigt.The following shows the computation answer for How many feet in 10 meters?

"computation": {
    "id": "https:\/\/www.bing.com\/api\/v7\/#Computation",
    "expression": "10 meters",
    "value": "32.808399 feet"
}, ...

Nachfolgend finden Sie Beispiele für mathematische Abfragen und die jeweils entsprechenden Antworten vom Typ computation.The following shows examples of mathematical queries and their corresponding computation answers.

Query: (5+3)(10/2)+8
Encoded query: %285%2B3%29%2810%2F2%29%2B8
"computation": {
    "id": "https:\/\/www.bing.com\/api\/v7\/#Computation",
    "expression": "((5+3)*(10\/2))+8",
    "value": "48"
}
Query: sqrt(4^2+8^2)
Encoded query: sqrt%284^2%2B8^2%29
"computation": {
    "id": "https:\/\/www.bing.com\/api\/v7\/#Computation",
    "expression": "sqrt((4^2)+(8^2))",
    "value": "8.94427191"
}
Query: 30 6/8 - 18 8/16
Encoded query: 30%206%2F8%20-%2018%208%2F16
"computation": {
    "id": "https:\/\/www.bing.com\/api\/v7\/#WolframAlpha",
    "expression": "30 6\/8-18 8\/16",
    "value": "12.25"
}
Query: 8^2+11^2-2*8*11*cos(37)
Encoded query: 8^2%2B11^2-2*8*11*cos%2837%29
"computation": {
        "id": "https:\/\/www.bing.com\/api\/v7\/#Computation",
        "expression": "(8^2)+(11^2)-(2*8*11*cos(37))",
        "value": "44.4401502"
}

Ein mathematischer Ausdruck kann folgende Symbole enthalten:A mathematical expression may contain the following symbols:

SymbolSymbol BESCHREIBUNGDescription
+ AdditionAddition
- SubtraktionSubtraction
/ DivisionDivision
* MultiplikationMultiplication
^ PotenzPower
!! FakultätFactorial
.. DecimalDecimal
()() PrioritätsgruppierungPrecedence grouping
[][] FunktionFunction

Ein mathematischer Ausdruck kann folgende Konstanten enthalten:A mathematical expression may contain the following constants:

SymbolSymbol BESCHREIBUNGDescription
PiPi 3,14159...3.14159...
GradDegree GradDegree
ii Imaginäre ZahlImaginary number
ee e, 2,71828...e, 2.71828...
GoldenRatioGoldenRatio Goldener Schnitt, 1,61803...Golden ratio, 1.61803...

Ein mathematischer Ausdruck kann folgende Funktionen enthalten:A mathematical expression may contain the following functions:

SymbolSymbol BESCHREIBUNGDescription
SortierenSort QuadratwurzelSquare root
Sin[x], Cos[x], Tan[x]Sin[x], Cos[x], Tan[x]
Csc[x], Sec[x], Cot[x]Csc[x], Sec[x], Cot[x]
Trigonometrische Funktionen (mit Argumenten im Bogenmaß)Trigonometric functions (with arguments in radians)
ArcSin[x], ArcCos[x], ArcTan[x]ArcSin[x], ArcCos[x], ArcTan[x]
ArcCsc[x], ArcSec[x], ArcCot[x]ArcCsc[x], ArcSec[x], ArcCot[x]
Inverse trigonometrische Funktionen (Ergebnisse im Bogenmaß)Inverse trigonometric functions (giving results in radians)
Exp[x], E^xExp[x], E^x ExponentialfunktionExponential function
Log[x]Log[x] Natürlicher LogarithmusNatural logarithm
Sinh[x], Cosh[x], Tanh[x]Sinh[x], Cosh[x], Tanh[x]
Csch[x], Sech[x], Coth[x]Csch[x], Sech[x], Coth[x]
Hyperbolische FunktionenHyperbolic functions
ArcSinh[x], ArcCosh[x], ArcTanh[x]ArcSinh[x], ArcCosh[x], ArcTanh[x]
ArcCsch[x], ArcSech[x], ArcCoth[x]ArcCsch[x], ArcSech[x], ArcCoth[x]
Inverse hyperbolische FunktionenInverse hyperbolic functions

Mathematische Ausdrücke, die Variablen enthalten (z.B. 4x + 6 = 18, wobei x die Variable ist), werden nicht unterstützt.Mathematical expressions that contain variables (for example, 4x+6=18, where x is the variable) are not supported.

Antwort zur ZeitzoneTimeZone answer

Wenn der Benutzer eine Abfrage zu Uhrzeit oder Datum eingibt, kann die Antwort eine Antwort vom Typ TimeZone enthalten.If the user enters a time or date query, the response may contain a TimeZone answer. Diese Antwort unterstützt implizite oder explizite Abfragen.This answer supports implicit or explicit queries. Bei einer impliziten Abfrage, z.B. Wie spät ist es? , wird die Ortszeit basierend auf dem Standort des Benutzers zurückgegeben.An implicit query, such as What time is it?, returns the local time based on the user's location. Bei einer expliziten Abfrage, z.B. Wie spät ist es in Seattle? , wird die Ortszeit für Seattle, Washington, USA zurückgegeben.An explicit query, such as What time is it in Seattle?, returns the local time for Seattle, WA.

Die Antwort vom Typ timeZone beinhaltet den Namen des Standorts, das aktuelle UTC-Datum und die aktuelle UTC-Zeit am angegebenen Standort sowie die UTC-Abweichung.The timeZone answer provides the name of the location, the current UTC date and time at the specified location, and the UTC offset. Wenn sich die Standortgrenzen in mehreren Zeitzonen befinden, enthält die Antwort das aktuelle UTC-Datum und die aktuelle UTC-Zeit aller Zeitzonen innerhalb der Grenzen.If the boundary of the location is within multiple time zones, the answer contains the current UTC date and time of all time zones within the boundary. Da der US-Bundesstaat Florida in zwei Zeitzonen liegt, enthält die Antwort beispielsweise das lokale Datum und die Ortszeit beider Zeitzonen.For example, because Florida State falls within two time zones, the answer contains the local date and time of both time zones.

Wenn mit der Abfrage die Uhrzeit einer Region oder eines Lands angefordert wird, ermittelt Bing den Hauptort innerhalb der geografischen Grenzen des Standorts und gibt diesen im Feld primaryCityTime zurück.If the query requests the time of a state or country/region, Bing determines the primary city within the location's geographical boundary and returns it in the primaryCityTime field. Wenn die geografischen Grenzen mehrere Zeitzonen umfassen, werden die übrigen Zeitzonen im Feld otherCityTimes zurückgegeben.If the boundary contains multiple time zones, the remaining time zones are returned in the otherCityTimes field.

Nachfolgend finden Sie Beispielabfragen, die eine Antwort vom Typ timeZone zurückgeben.The following shows example queries that return the timeZone answer.

Query: What time is it?

"timeZone": {
    "id": "https:\/\/www.bing.com\/api\/v7\/#TimeZone",
    "primaryCityTime": {
        "location": "Redmond, Washington, United States",
        "time": "2015-10-27T08:38:12.1189231Z",
        "utcOffset": "UTC-7"
    }
}

Query: What time is it in the Pacific time zone?

"timeZone": {
    "id": "https:\/\/www.bing.com\/api\/v7\/#TimeZone",
    "primaryCityTime": {
        "location": "Pacific Time Zone",
        "time": "2015-10-23T12:33:19.0728146Z",
        "utcOffset": "UTC-7"
    }
}

Query: Time in Florida?

"timeZone": {
        "id": "https:\/\/www.bing.com\/api\/v7\/#TimeZone",
        "primaryCityTime": {
            "location": "Tallahassee, Florida, United States",
            "time": "2015-10-23T13:04:56.6774389Z",
            "utcOffset": "UTC-4"
        },
        "otherCityTimes": [{
            "location": "Pensacola",
            "time": "2015-10-23T12:04:56.6664294Z",
            "utcOffset": "UTC-5"
        }]
}

Query: What time is it in the U.S.

"timeZone": {
    "id": "https:\/\/www.bing.com\/api\/v7\/#TimeZone",
    "primaryCityTime": {
        "location": "Washington, D.C., United States",
        "time": "2015-10-23T15:27:59.8892745Z",
        "utcOffset": "UTC-4"
    },
    "otherCityTimes": [{
        "location": "Honolulu",
        "time": "2015-10-23T09:27:59.8892745Z",
        "utcOffset": "UTC-10"
    },
    {
        "location": "Anchorage",
        "time": "2015-10-23T11:27:59.8892745Z",
        "utcOffset": "UTC-8"
    },
    {
        "location": "Phoenix",
        "time": "2015-10-23T12:27:59.8892745Z",
        "utcOffset": "UTC-7"
    },
    {
        "location": "Los Angeles",
        "time": "2015-10-23T12:27:59.8942788Z",
        "utcOffset": "UTC-7"
    },
    {
        "location": "Denver",
        "time": "2015-10-23T13:27:59.8812681Z",
        "utcOffset": "UTC-6"
    },
    {
        "location": "Chicago",
        "time": "2015-10-23T14:27:59.8892745Z",
        "utcOffset": "UTC-5"
    }]
}

Antwort zu RechtschreibvorschlägenSpellSuggestion answer

Wenn Bing feststellt, dass der Benutzer möglicherweise einen abweichenden Ausdruck suchen wollte, enthält die Antwort ein SpellSuggestions-Objekt.If Bing determines that the user may have intended to search for something different, the response includes a SpellSuggestions object. Wenn der Benutzer z.B. nach carlos pen sucht, geht Bing davon aus, dass der Benutzer stattdessen möglicherweise nach „Carlos Pena“ suchen wollte (basierend auf der früheren Suche nach carlos pen durch andere Benutzer).For example, if the user searches for carlos pen, Bing may determine that the user likely intended to search for Carlos Pena instead (based on past searches by others of carlos pen). Nachfolgend finden Sie ein Beispiel für eine Antwort zur Rechtschreibung.The following shows an example spell response.

"spellSuggestions": {
    "id": "https:\/\/www.bing.com\/api\/v7\/#SpellSuggestions",
    "value": [{
        "text": "carlos pena",
        "displayText": "carlos pena"
    }]
}, ...

AntwortheaderResponse headers

Die folgenden Header können in Antworten der Bing-Websuche-API enthalten sein:Responses from the Bing Web Search API may contain the following headers:

X-MSEdge-ClientID Die eindeutige ID, die Bing dem Benutzer zugewiesen hatThe unique ID that Bing has assigned to the user
BingAPIs-Market Der Markt, der zur Erfüllung der Anforderung verwendet wurdeThe market that was used to fulfill the request
BingAPIs-TraceId Der Protokolleintrag auf den Bing-API-Server für diese Anforderung (für Unterstützung)The log entry on the Bing API server for this request (for support)

Es ist besonders wichtig, die Client-ID beizubehalten und mit nachfolgenden Anforderungen zurückzugeben.It is particularly important to persist the client ID and return it with subsequent requests. Wenn Sie dies tun, verwendet die Suche den vergangenen Kontext in der Suchergebnisrangfolge und bietet auch eine konsistente Benutzererfahrung.When you do this, the search will use past context in ranking search results and also provide a consistent user experience.

Wenn Sie jedoch die Bing-Websuche-API von JavaScript aus aufrufen, kann es sein, dass die in Ihrem Browser integrierten Sicherheitsfunktionen (CORS) unterbinden, dass Sie auf die Werte dieser Header zuzugreifen können.However, when you call the Bing Web Search API from JavaScript, your browser's built-in security features (CORS) might prevent you from accessing the values of these headers.

Um Zugriff auf die Header zu erhalten, können Sie die Bing-Websuche-API über einen CORS-Proxy anfordern.To gain access to the headers, you can make the Bing Web Search API request through a CORS proxy. In der Antwort eines solchen Proxys befindet sich ein Access-Control-Expose-Headers-Header. Dieser enthält eine Whitelist mit Antwortheadern, die JavaScript zur Verfügung gestellt wird.The response from such a proxy has an Access-Control-Expose-Headers header that whitelists response headers and makes them available to JavaScript.

Die Installation eines CORS-Proxys, mit dem die Tutorial-App auf die optionalen Clientheader zugreifen kann, ist schnell und unkompliziert.It's easy to install a CORS proxy to allow our tutorial app to access the optional client headers. Installieren Sie Node.js, falls Sie dies noch nicht getan haben.First, if you don't already have it, install Node.js. Geben Sie dann an einer Eingabeaufforderung den folgenden Befehl ein.Then enter the following command at a command prompt.

npm install -g cors-proxy-server

Passen Sie den Bing-Websuche-API-Endpunkt in der HTML-Datei wie folgt an:Next, change the Bing Web Search API endpoint in the HTML file to:

http://localhost:9090/https://api.cognitive.microsoft.com/bing/v7.0/search

Starten Sie abschließend den CORS-Proxy mit folgendem Befehl:Finally, start the CORS proxy with the following command:

cors-proxy-server

Lassen Sie das Fenster während der Nutzung der Tutorial-App geöffnet. Wenn Sie das Fenster schließen, wird auch die Ausführung des Proxys beendet.Leave the command window open while you use the tutorial app; closing the window stops the proxy. Im Bereich mit den erweiterbaren HTTP-Headern unter den Suchergebnissen wird nun u.a. der X-MSEdge-ClientID-Header angezeigt. Hier können Sie überprüfen, ob dieser für alle Anforderungen identisch ist.In the expandable HTTP Headers section below the search results, you can now see the X-MSEdge-ClientID header (among others) and verify that it is the same for each request.

Antwortheader in einer ProduktionsumgebungResponse headers in production

Der in der vorherigen Antwort erläuterte Ansatz mit CORS-Proxy ist für Entwicklung, Test und Lernen geeignet.The CORS proxy approach described in the previous answer is appropriate for development, testing, and learning.

In einer Produktionsumgebung sollten Sie ein serverseitiges Skript in derselben Domäne wie die Webseite, die die Bing-Websuche-API verwendet, hosten.In a production environment, you should host a server-side script on the same domain as the Web page that uses the Bing Web Search API. Dieses Skript sollte die API-Aufrufe auf Anforderung des JavaScript-Codes auf der Webseite ausführen und alle Ergebnisse, einschließlich der Header, an den Client zurückgeben.This script should make API calls upon request from the Web page JavaScript and pass all results, including headers, back to the client. Da die beiden Ressourcen (Seite und Skript) einen gemeinsamen Ursprung haben, wird CORS nicht verwendet, und die speziellen Header sind für das JavaScript auf der Webseite zugänglich.Since the two resources (page and script) share an origin, CORS is not used and the special headers are accessible to the JavaScript on the Web page.

Dieser Ansatz schützt auch Ihren API-Schlüssel vor der Offenlegung, da dieser nur vom serverseitigen Skript benötigt wird.This approach also protects your API key from exposure to the public, since only the server-side script needs it. Das Skript kann eine andere Methode verwenden, um sicherzustellen, dass die Anforderung autorisiert ist.The script can use another method to make sure the request is authorized.

Das folgende Beispiel zeigt, wie der Rechtschreibvorschlag in Bing verwendet wird.The following shows how Bing uses the spelling suggestion.

Beispiel für Rechtschreibvorschlag in Bing

Nächste SchritteNext steps

Weitere InformationenSee also