クイック スタート:Bing Video Search クライアント ライブラリを使用する

警告

2020 年 10 月 30 日に、Bing Search API は Azure AI サービスから Bing Search サービスに移行されました。 このドキュメントは、参考用としてのみ提供されています。 更新されたドキュメントについては、Bing search API のドキュメントを参照してください。 Bing 検索用の新しい Azure リソースを作成する手順については、「Azure Marketplace から Bing Search リソースを作成する」を参照してください。

このクイックスタートでは、Bing Video Search の C# 用のクライアント ライブラリを使用してニュースを検索する方法を説明します。 Bing Video Search の REST API はほとんどのプログラミング言語に対応していますが、このクライアント ライブラリを使用すると、サービスをお使いのアプリケーションに簡単に統合することができます。 このサンプルのソース コードは GitHub にあり、追加の注釈と機能があります。

前提条件

ご自分のプロジェクトに Bing Video Search のクライアント ライブラリを追加するには、Visual Studio のソリューション エクスプローラーから [NuGet パッケージの管理] をクリックします。 Microsoft.Azure.CognitiveServices.Search.VideoSearch パッケージを追加します。

NuGet Video Search SDK パッケージをインストールすると、次の依存関係もインストールされます。

  • Microsoft.Rest.ClientRuntime
  • Microsoft.Rest.ClientRuntime.Azure
  • Newtonsoft.Json

Azure リソースを作成する

次のいずれかの Azure リソースを作成して、Bing Video Search API の使用を開始します。

Bing Search v7 リソース

  • ご自身でリソースを削除するまでは Azure portal からご利用いただけます。
  • Free 価格レベルを使ってサービスを試用し、後から運用環境用の有料レベルにアップグレードします。

マルチサービス リソース

  • ご自身でリソースを削除するまでは Azure portal からご利用いただけます。
  • 複数の Azure AI サービス全体で同じキーとエンドポイントをアプリケーションに使用します。

プロジェクトの作成と初期化

  1. Visual Studio で、新しい C# コンソール ソリューションを作成します。 次に、メイン コード ファイルに次の内容を追加します。

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using Microsoft.Azure.CognitiveServices.Search.VideoSearch;
    using Microsoft.Azure.CognitiveServices.Search.VideoSearch.Models;
    
  2. サブスクリプション キーで新しい ApiKeyServiceClientCredentials オブジェクトを作成し、コンストラクターを呼び出して、クライアントをインスタンス化します。

    var client = new VideoSearchAPI(new ApiKeyServiceClientCredentials("YOUR-ACCESS-KEY"));
    

検索要求を送信して結果を処理する

  1. クライアントを使用して検索要求を送信します。 検索クエリの "SwiftKey" を使用します。

    var videoResults = client.Videos.SearchAsync(query: "SwiftKey").Result;
    
  2. 結果が返された場合は、最初の結果を videoResults.Value[0] で取得します。 その後、動画の ID、タイトル、URL を出力します。

    if (videoResults.Value.Count > 0)
    {
        var firstVideoResult = videoResults.Value[0];
    
        Console.WriteLine($"\r\nVideo result count: {videoResults.Value.Count}");
        Console.WriteLine($"First video id: {firstVideoResult.VideoId}");
        Console.WriteLine($"First video name: {firstVideoResult.Name}");
        Console.WriteLine($"First video url: {firstVideoResult.ContentUrl}");
    }
    else
    {
        Console.WriteLine("Couldn't find video results!");
    }
    

次の手順

関連項目

このクイックスタートでは、Bing Video Search の Java 用のクライアント ライブラリを使用してニュースを検索する方法を説明します。 Bing Video Search の REST API はほとんどのプログラミング言語に対応していますが、このクライアント ライブラリを使用すると、サービスをお使いのアプリケーションに簡単に統合することができます。 このサンプルのソース コードは GitHub にあり、追加の注釈と機能があります。

前提条件

Azure リソースを作成する

次のいずれかの Azure リソースを作成して、Bing Video Search API の使用を開始します。

Bing Search v7 リソース

  • ご自身でリソースを削除するまでは Azure portal からご利用いただけます。
  • Free 価格レベルを使ってサービスを試用し、後から運用環境用の有料レベルにアップグレードします。

マルチサービス リソース

  • ご自身でリソースを削除するまでは Azure portal からご利用いただけます。
  • 複数の Azure AI サービス全体で同じキーとエンドポイントをアプリケーションに使用します。

Bing Video Search クライアント ライブラリの依存関係は、Maven、Gradle、またはその他の依存関係管理システムを使用してをインストールできます。 Maven POM ファイルには、次の宣言が必要です。

  <dependencies>
    <dependency>
      <groupId>com.microsoft.azure.cognitiveservices</groupId>
      <artifactId>azure-cognitiveservices-videosearch</artifactId>
      <version>0.0.1-beta-SNAPSHOT</version>
    </dependency>
  </dependencies> 

プロジェクトの作成と初期化

普段使用している IDE またはエディターで新しい Java プロジェクトを作成し、以下のライブラリをインポートします。

    import com.microsoft.azure.cognitiveservices.videosearch.*;
    import com.microsoft.azure.cognitiveservices.videosearch.VideoObject;
    import com.microsoft.rest.credentials.ServiceClientCredentials;
    import okhttp3.Interceptor;
    import okhttp3.OkHttpClient;
    import okhttp3.Request;
    import okhttp3.Response;
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.List; 

検索クライアントを作成する

  1. VideoSearchAPIImpl クライアントを実装します。これには API エンドポイントと ServiceClientCredentials クラスのインスタンスが必要となります。

    public static VideoSearchAPIImpl getClient(final String subscriptionKey) {
        return new VideoSearchAPIImpl("https://api.cognitive.microsoft.com/bing/v7.0/",
                new ServiceClientCredentials() {
                //...
                }
    )};
    

    ServiceClientCredentials を実装するには、次の手順に従います。

    1. OkHttpClient.Builder オブジェクトをパラメーターとして applyCredentialsFilter() 関数をオーバーライドします。

      //...
      new ServiceClientCredentials() {
              @Override
              public void applyCredentialsFilter(OkHttpClient.Builder builder) {
              //...
              }
      //...
      
    2. applyCredentialsFilter() 内で builder.addNetworkInterceptor() を呼び出します。 新しい Interceptor オブジェクトを作成し、その intercept() メソッドをオーバーライドして、Chain インターセプター オブジェクトを受け取るようにします。

      //...
      builder.addNetworkInterceptor(
          new Interceptor() {
              @Override
              public Response intercept(Chain chain) throws IOException {
              //...    
              }
          });
      ///...
      
    3. intercept 関数内に、要求のための変数を作成します。 Request.Builder() を使用して要求を作成します。 Ocp-Apim-Subscription-Key ヘッダーにサブスクリプション キーを追加し、要求オブジェクトで chain.proceed() を返します。

      //...
      public Response intercept(Chain chain) throws IOException {
          Request request = null;
          Request original = chain.request();
          Request.Builder requestBuilder = original.newBuilder()
                  .addHeader("Ocp-Apim-Subscription-Key", subscriptionKey);
          request = requestBuilder.build();
          return chain.proceed(request);
      }
      //...
      

検索要求を送信して応答を受信する

  1. 文字列としてサブスクリプション キーを受け取る VideoSearch() という関数を作成します。 先ほど作成した検索クライアントをインスタンス化します。

    public static void VideoSearch(String subscriptionKey){
        VideoSearchAPIImpl client = VideoSDK.getClient(subscriptionKey);
        //...
    }
    
  2. VideoSearch() 内で、このクライアントを使用して動画検索要求を送信します。その際、検索語句として SwiftKey を指定します。 Video Search API から結果が返された場合は、最初の結果を取得してその ID、名前、URL を、返された動画の総数と共に出力します。

    VideosInner videoResults = client.searchs().list("SwiftKey");
    
    if (videoResults == null){
        System.out.println("Didn't see any video result data..");
    }
    else{
        if (videoResults.value().size() > 0){
            VideoObject firstVideoResult = videoResults.value().get(0);
    
            System.out.println(String.format("Video result count: %d", videoResults.value().size()));
            System.out.println(String.format("First video id: %s", firstVideoResult.videoId()));
            System.out.println(String.format("First video name: %s", firstVideoResult.name()));
            System.out.println(String.format("First video url: %s", firstVideoResult.contentUrl()));
        }
        else{
            System.out.println("Couldn't find video results!");
        }
    }
    
  3. この検索メソッドを main メソッドから呼び出します。

    public static void main(String[] args) {
        VideoSDK.VideoSearch("YOUR-SUBSCRIPTION-KEY");
    }
    

次の手順

関連項目

このクイックスタートでは、Bing Video Search の JavaScript 用のクライアント ライブラリを使用してニュースを検索する方法を説明します。 Bing Video Search の REST API はほとんどのプログラミング言語に対応していますが、このクライアント ライブラリを使用すると、サービスをお使いのアプリケーションに簡単に統合することができます。 このサンプルのソース コードは、GitHub にあります。 そちらの方が注釈や機能が詳しく記載されています。

前提条件

  • 最新バージョンの Node.js
  • Bing Video Search SDK for JavaScript
    • インストールするには、npm install @azure/cognitiveservices-videosearch を実行します
  • クライアントを認証するための CognitiveServicesCredentials クラス (@azure/ms-rest-azure-js パッケージに含まれています)。
    • インストールするには、npm install @azure/ms-rest-azure-js を実行します

Azure リソースを作成する

次のいずれかの Azure リソースを作成して、Bing Video Search API の使用を開始します。

Bing Search v7 リソース

  • ご自身でリソースを削除するまでは Azure portal からご利用いただけます。
  • Free 価格レベルを使ってサービスを試用し、後から運用環境用の有料レベルにアップグレードします。

マルチサービス リソース

  • ご自身でリソースを削除するまでは Azure portal からご利用いただけます。
  • 複数の Azure AI サービス全体で同じキーとエンドポイントをアプリケーションに使用します。

アプリケーションを作成して初期化する

  1. ご自分のお好きな IDE またはエディターを使用して新しい JavaScript ファイルを作成し、CognitiveServicesCredentials モジュールと Bing Video Search クライアント ライブラリ用の require() ステートメントを追加します。 サブスクリプション キーの変数を作成します。

    const CognitiveServicesCredentials = require('@azure/ms-rest-azure-js').CognitiveServicesCredentials;
    const VideoSearchAPIClient = require('@azure/cognitiveservices-videosearch');
    
  2. 実際のキーを指定して CognitiveServicesCredentials のインスタンスを作成します。 さらに、それを使用して動画検索クライアントのインスタンスを作成します。

    let credentials = new CognitiveServicesCredentials('YOUR-ACCESS-KEY');
    let client = new VideoSearchAPIClient(credentials);
    

検索要求を送信する

  1. client.videosOperations.search() を使用して、Bing Video Search API に検索要求を送信します。 検索結果が返されたら、.then() を使用して結果をログします。

    client.videosOperations.search('Interstellar Trailer').then((result) => {
        console.log(result.value);
    }).catch((err) => {
        throw err;
    });
    

次の手順

関連項目

このクイックスタートでは、Bing Video Search の Python 用のクライアント ライブラリを使用してニュースを検索する方法を説明します。 Bing Video Search の REST API はほとんどのプログラミング言語に対応していますが、このクライアント ライブラリを使用すると、サービスをお使いのアプリケーションに簡単に統合することができます。 このサンプルのソース コードは GitHub にあり、追加の注釈と機能があります。

Azure リソースを作成する

次のいずれかの Azure リソースを作成して、Bing Video Search API の使用を開始します。

Bing Search v7 リソース

  • ご自身でリソースを削除するまでは Azure portal からご利用いただけます。
  • Free 価格レベルを使ってサービスを試用し、後から運用環境用の有料レベルにアップグレードします。

マルチサービス リソース

  • ご自身でリソースを削除するまでは Azure portal からご利用いただけます。
  • 複数の Azure AI サービス全体で同じキーとエンドポイントをアプリケーションに使用します。

前提条件

  • Python 2.x または 3.x
  • Python 用 Bing Video Search クライアント ライブラリ

Python の仮想環境を使用することをお勧めします。 仮想環境のインストールと初期化は、venv モジュールを使用して行えます。 次にようにして、Python 2.7 向けの virtualenv をインストールします。

python -m venv mytestenv

Bing Video Search クライアント ライブラリは、次も行いインストールします。

cd mytestenv
python -m pip install azure-cognitiveservices-search-videosearch

アプリケーションを作成して初期化する

  1. お気に入りの IDE またはエディターで新しい Python ファイルを作成し、次の import ステートメントを追加します。

    from azure.cognitiveservices.search.videosearch import VideoSearchClient
    from azure.cognitiveservices.search.videosearch.models import VideoPricing, VideoLength, VideoResolution, VideoInsightModule
    from msrest.authentication import CognitiveServicesCredentials
    
  2. サブスクリプション キーの変数を作成します。

    subscription_key = "YOUR-SUBSCRIPTION-KEY"
    endpoint = "YOUR-ENDPOINT"
    

検索クライアントを作成する

CognitiveServicesCredentials のインスタンスを作成し、クライアントをインスタンス化します。

client = VideoSearchAPI(endpoint, CognitiveServicesCredentials(subscription_key))

検索要求を送信して応答を取得する

  1. client.videos.search() と検索クエリを使用して、Bing Video Search API に要求を送信し、応答を取得します。

    video_result = client.videos.search(query="SwiftKey")
    
  2. 応答に検索結果が含まれている場合は、1 つ目の結果を取得して、その ID、名前、URL を出力します。

    if video_result.value:
        first_video_result = video_result.value[0]
        print("Video result count: {}".format(len(video_result.value)))
        print("First video id: {}".format(first_video_result.video_id))
        print("First video name: {}".format(first_video_result.name))
        print("First video url: {}".format(first_video_result.content_url))
    else:
        print("Didn't see any video result data..")
    

次の手順

関連項目