クイック スタート: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 にあり、追加の注釈と機能があります。
前提条件
- Visual Studio 2017 またはそれ以降の任意のエディション。
- NuGet パッケージとして入手できる Json.NET フレームワーク。
ご自分のプロジェクトに 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 の使用を開始します。
- ご自身でリソースを削除するまでは Azure portal からご利用いただけます。
- Free 価格レベルを使ってサービスを試用し、後から運用環境用の有料レベルにアップグレードします。
- ご自身でリソースを削除するまでは Azure portal からご利用いただけます。
- 複数の Azure AI サービス全体で同じキーとエンドポイントをアプリケーションに使用します。
プロジェクトの作成と初期化
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;
サブスクリプション キーで新しい
ApiKeyServiceClientCredentials
オブジェクトを作成し、コンストラクターを呼び出して、クライアントをインスタンス化します。var client = new VideoSearchAPI(new ApiKeyServiceClientCredentials("YOUR-ACCESS-KEY"));
検索要求を送信して結果を処理する
クライアントを使用して検索要求を送信します。 検索クエリの "SwiftKey" を使用します。
var videoResults = client.Videos.SearchAsync(query: "SwiftKey").Result;
結果が返された場合は、最初の結果を
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 の使用を開始します。
- ご自身でリソースを削除するまでは 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;
検索クライアントを作成する
VideoSearchAPIImpl
クライアントを実装します。これには API エンドポイントとServiceClientCredentials
クラスのインスタンスが必要となります。public static VideoSearchAPIImpl getClient(final String subscriptionKey) { return new VideoSearchAPIImpl("https://api.cognitive.microsoft.com/bing/v7.0/", new ServiceClientCredentials() { //... } )};
ServiceClientCredentials
を実装するには、次の手順に従います。OkHttpClient.Builder
オブジェクトをパラメーターとしてapplyCredentialsFilter()
関数をオーバーライドします。//... new ServiceClientCredentials() { @Override public void applyCredentialsFilter(OkHttpClient.Builder builder) { //... } //...
applyCredentialsFilter()
内でbuilder.addNetworkInterceptor()
を呼び出します。 新しいInterceptor
オブジェクトを作成し、そのintercept()
メソッドをオーバーライドして、Chain
インターセプター オブジェクトを受け取るようにします。//... builder.addNetworkInterceptor( new Interceptor() { @Override public Response intercept(Chain chain) throws IOException { //... } }); ///...
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); } //...
検索要求を送信して応答を受信する
文字列としてサブスクリプション キーを受け取る
VideoSearch()
という関数を作成します。 先ほど作成した検索クライアントをインスタンス化します。public static void VideoSearch(String subscriptionKey){ VideoSearchAPIImpl client = VideoSDK.getClient(subscriptionKey); //... }
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!"); } }
この検索メソッドを 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 の使用を開始します。
- ご自身でリソースを削除するまでは Azure portal からご利用いただけます。
- Free 価格レベルを使ってサービスを試用し、後から運用環境用の有料レベルにアップグレードします。
- ご自身でリソースを削除するまでは Azure portal からご利用いただけます。
- 複数の Azure AI サービス全体で同じキーとエンドポイントをアプリケーションに使用します。
アプリケーションを作成して初期化する
ご自分のお好きな IDE またはエディターを使用して新しい JavaScript ファイルを作成し、
CognitiveServicesCredentials
モジュールと Bing Video Search クライアント ライブラリ用のrequire()
ステートメントを追加します。 サブスクリプション キーの変数を作成します。const CognitiveServicesCredentials = require('@azure/ms-rest-azure-js').CognitiveServicesCredentials; const VideoSearchAPIClient = require('@azure/cognitiveservices-videosearch');
実際のキーを指定して
CognitiveServicesCredentials
のインスタンスを作成します。 さらに、それを使用して動画検索クライアントのインスタンスを作成します。let credentials = new CognitiveServicesCredentials('YOUR-ACCESS-KEY'); let client = new VideoSearchAPIClient(credentials);
検索要求を送信する
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 の使用を開始します。
- ご自身でリソースを削除するまでは 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
アプリケーションを作成して初期化する
お気に入りの 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
サブスクリプション キーの変数を作成します。
subscription_key = "YOUR-SUBSCRIPTION-KEY" endpoint = "YOUR-ENDPOINT"
検索クライアントを作成する
CognitiveServicesCredentials
のインスタンスを作成し、クライアントをインスタンス化します。
client = VideoSearchAPI(endpoint, CognitiveServicesCredentials(subscription_key))
検索要求を送信して応答を取得する
client.videos.search()
と検索クエリを使用して、Bing Video Search API に要求を送信し、応答を取得します。video_result = client.videos.search(query="SwiftKey")
応答に検索結果が含まれている場合は、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..")