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

Sie benötigen ein Cognitive Services-API-Konto mit Zugriff auf die Bing-Suche-APIs.You must have a Cognitive Services API account with access to the Bing Search APIs. Falls Sie nicht über ein Azure-Abonnement verfügen, können Sie ein kostenloses Konto erstellen.If you don't have an Azure subscription, you can create an account for free. Vor dem Fortfahren benötigen Sie den Zugriffsschlüssel, der nach dem Aktivieren Ihrer kostenlosen Testversion bereitgestellt wird. Alternativ hierzu können Sie auch den Schlüssel eines kostenpflichtigen Abonnements aus Ihrem Azure-Dashboard verwenden.Before continuing, You will need the access key provided after activating your free trial, or a paid subscription key from your Azure dashboard.

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  = "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?