Schnellstart: Suchen nach Videos mithilfe der Bing-Videosuche-REST-API und RubyQuickstart: Search for videos using the Bing Video Search REST API and Ruby

Mit diesem Schnellstart können Sie die Bing-Videosuche-API zum ersten Mal aufrufen und ein Suchergebnis in der JSON-Antwort anzeigen.Use this quickstart to make your first call to the Bing Video Search API and view a search result from the JSON response. Diese einfache Ruby-Anwendung sendet eine HTTP-Videosuchabfrage an die API und zeigt die Antwort an.This simple Ruby application sends an HTTP video search query to the API, and displays the response. Diese Anwendung ist zwar in Python geschrieben, an sich ist die API aber ein RESTful-Webdienst, der mit den meisten Programmiersprachen kompatibel ist.While this application is written in Python, the API is a RESTful Web service compatible with most programming languages. Der Quellcode dieses Beispiels ist auf GitHub mit zusätzlichen Fehlerbehandlungen und Codehinweisen verfügbar.The source code for this sample is available on GitHub with additional error handling, and code annotations.

VoraussetzungenPrerequisites

  • Ruby 2.4 oder höherRuby 2.4 or later

Erstellen einer Azure-RessourceCreate an Azure resource

Beginnen Sie mit der Verwendung der Bing-Videosuche-API, indem Sie eine der unten aufgeführten Azure-Ressourcen erstellen.Start using the Bing Video Search API by creating one of the Azure resources below.

  • Erstellen einer Testressource:Create a trial resource:

    • Kein Azure-Abonnement erforderlich.No Azure subscription needed.
    • Kostenlos und sieben Tage lang gültig.Valid for seven days, for free. Nach der Registrierung stehen ein Testschlüssel und ein Endpunkt auf der Azure-Website zur Verfügung.After signing up, a trial key and endpoint will be available on the Azure website.
  • Erstellen einer Ressource für Bing-Suche v7:Create a Bing Search v7 resource:

    • Verfügbar über das Azure-Portal, bis Sie die Ressource löschen.Available through the Azure portal until you delete the resource.
    • Verwenden Sie den Tarif „Free“, um den Dienst zu testen, und führen Sie später für die Produktion ein Upgrade auf einen kostenpflichtigen Tarif durch.Use the free pricing tier to try the service, and upgrade later to a paid tier for production.
  • Erstellen einer Ressource für mehrere Dienste:Create a Multi-Service resource:

    • Verfügbar über das Azure-Portal, bis Sie die Ressource löschen.Available through the Azure portal until you delete the resource.
    • Verwenden Sie für Ihre Anwendungen den gleichen Schlüssel und Endpunkt über mehrere Cognitive Services-Instanzen hinweg.Use the same key and endpoint for your applications, across multiple Cognitive Services.

Erstellen und Initialisieren der AnwendungCreate and initialize the application

  1. Importieren Sie die folgenden Pakete in Ihre Codedatei.import the following packages into your code file.

    require 'net/https'
    require 'uri'
    require 'json'
    
  2. Erstellen Sie Variablen für den API-Endpunkt, den Videosuche-API-Pfad, Ihren Abonnementschlüssel und einen Suchbegriff.Create variables for the API endpoint, video API search path, your subscription key, and search term. uri kann der unten angegebene globale Endpunkt oder der Endpunkt der benutzerdefinierten Unterdomäne sein, der im Azure-Portal für Ihre Ressource angezeigt wird.uri can be the global endpoint below, or the custom subdomain endpoint displayed in the Azure portal for your resource.

    uri  = "https://api.cognitive.microsoft.com"
    path = "/bing/v7.0/videos/search"
    term = "kittens"
    accessKey = "your-subscription-key" 
    

Erstellen und Senden einer API-AnforderungCreate and send an API request

  1. Verwenden Sie die Variablen aus dem vorherigen Schritt, um eine Such-URL für die Anforderung zu formatieren.Use the variables from the last step to format a search URL for the request. Kombinieren Sie Ihren URI und Pfad, und führen Sie dann eine URL-Codierung für Ihren Suchbegriff durch, bevor Sie ihn an den Parameter ?q= anfügen.Combine your uri and path, then url-encode your search term before appending it to the ?q= parameter.

    uri = URI(uri + path + "?q=" + URI.escape(term))
    
  2. Fügen Sie der Anforderung die vollständige Such-URL hinzu, und fügen Sie dann Ihren Abonnementschlüssel dem Header Ocp-Apim-Subscription-Key hinzu.Add the complete search URL to the request, and add your subscription key to the Ocp-Apim-Subscription-Key header.

    request = Net::HTTP::Get.new(uri)
    request['Ocp-Apim-Subscription-Key'] = accessKey
    
  3. Senden Sie die Anforderung, und speichern Sie die Antwort.Send the request, and save the response.

    response = Net::HTTP.start(uri.host, uri.port, :use_ssl => uri.scheme == 'https') do |http|
        http.request(request)
    end
    

Verarbeiten und Anzeigen der AntwortProcess and view the response

  1. Nach Empfang der Antwort können Sie die JSON-Antwort ausgeben.After the response is received, you can print the JSON response.

    puts JSON::pretty_generate(JSON(response.body))
    

JSON-AntwortJSON response

Es wird eine erfolgreiche Antwort im JSON-Format zurückgegeben, wie im folgenden Beispiel gezeigt:A successful response is returned in JSON, as shown in the following example:

{
    "_type": "Videos",
    "instrumentation": {},
    "readLink": "https://api.cognitive.microsoft.com/api/v7/videos/search?q=kittens",
    "webSearchUrl": "https://www.bing.com/videos/search?q=kittens",
    "totalEstimatedMatches": 1000,
    "value": [
        {
            "webSearchUrl": "https://www.bing.com/videos/search?q=kittens&view=...",
            "name": "Top 10 cute kitten videos compilation",
            "description": "HELP HOMELESS ANIMALS AND WIN A PRIZE BY CHOOSING...",
            "thumbnailUrl": "https://tse4.mm.bing.net/th?id=OVP.n1aE_Oikl4MtzBb...",
            "datePublished": "2014-11-12T22:47:36.0000000",
            "publisher": [
                {
                    "name": "Fabrikam"
                }
            ],
            "creator": {
                "name": "Marcus Appel"
            },
            "isAccessibleForFree": true,
            "contentUrl": "https://www.fabrikam.com/watch?v=8HVWitAW-Qg",
            "hostPageUrl": "https://www.fabrikam.com/watch?v=8HVWitAW-Qg",
            "encodingFormat": "h264",
            "hostPageDisplayUrl": "https://www.fabrikam.com/watch?v=8HVWitAW-Qg",
            "width": 480,
            "height": 360,
            "duration": "PT3M52S",
            "motionThumbnailUrl": "https://tse4.mm.bing.net/th?id=OM.j4QyJAENJphdZQ_1501386166&pid=Api",
            "embedHtml": "<iframe width=\"1280\" height=\"720\" src=\"https://www.fabrikam.com/embed/8HVWitAW-Qg?autoplay=1\" frameborder=\"0\" allowfullscreen></iframe>",
            "allowHttpsEmbed": true,
            "viewCount": 7513633,
            "thumbnail": {
                "width": 300,
                "height": 168
            },
            "videoId": "655D98260D012432848F6558260D012432848F",
            "allowMobileEmbed": true,
            "isSuperfresh": false
        },
        . . .
    ],
    "nextOffset": 36,
    "queryExpansions": [
        {
            "text": "Kittens Meowing",
            "displayText": "Meowing",
            "webSearchUrl": "https://www.bing.com/videos/search?q=Kittens+Meowing...",
            "searchLink": "https://api.cognitive.microsoft.com/api/v7/videos/search...",
            "thumbnail": {
                "thumbnailUrl": "https://tse3.mm.bing.net/th?q=Kittens+Meowing&pid..."
            }
        },
        {
            "text": "Funny Kittens",
            "displayText": "Funny",
            "webSearchUrl": "https://www.bing.com/videos/search?q=Funny+Kittens...",
            "searchLink": "https://api.cognitive.microsoft.com/api/v7/videos/search...",
            "thumbnail": {
                "thumbnailUrl": "https://tse3.mm.bing.net/th?q=Funny+Kittens&..."
            }
        },
        . . .
    ],
    "pivotSuggestions": [
        {
            "pivot": "kittens",
            "suggestions": [
                {
                    "text": "Cat",
                    "displayText": "Cat",
                    "webSearchUrl": "https://www.bing.com/videos/search?q=Cat...",
                    "searchLink": "https://api.cognitive.microsoft.com/api/v7/videos/search?...",
                    "thumbnail": {
                        "thumbnailUrl": "https://tse3.mm.bing.net/th?q=Cat&pid=Api..."
                    }
                },
                {
                    "text": "Feral Cat",
                    "displayText": "Feral Cat",
                    "webSearchUrl": "https://www.bing.com/videos/search?q=Feral+Cat...",
                    "searchLink": "https://api.cognitive.microsoft.com/api/v7/videos/search...",
                    "thumbnail": {
                        "thumbnailUrl": "https://tse3.mm.bing.net/th?q=Feral+Cat&pid=Api&..."
                    }
                }
            ]
        }
    ],
    "relatedSearches": [
        {
            "text": "Kittens Being Born",
            "displayText": "Kittens Being Born",
            "webSearchUrl": "https://www.bing.com/videos/search?q=Kittens+Being+Born...",
            "searchLink": "https://api.cognitive.microsoft.com/api/v7/videos/search?...",
            "thumbnail": {
                "thumbnailUrl": "https://tse1.mm.bing.net/th?q=Kittens+Being+Born&pid=..."
            }
        },
        . . .
    ]
}

Nächste SchritteNext steps

Weitere InformationenSee also

Worum handelt es sich bei der Bing-Videosuche-API?What is the Bing Video Search API?