ささみ学習帳 - sasami's study book

ささみ学習帳

Microsoft365 や Power Platform について学んだこと・アイデアのメモ

Power Automate クラウドフローで Bing Web検索を行う 💎

 

はじめに

Microsoft検索エンジン Bing にはプログラムから検索を行うことができるAPIが用意されています。今回は、Power Automate クラウドフローからAPIを使ったBing検索を試してみました。

 

※HTTPコネクタを利用する為Power AUtomate Premiumライセンスなどが必要になります。

 

Bing Search コネクタはWeb検索には対応していない

Power Automate では Bing Searchコネクタを利用することができますが、残念ながらニュースを検索するアクションしかありません(2024年5月時点)。まだプレビューとなっているコネクタですので今後の機能強化に期待しましょう。

※Bing Search コネクタはPremiumコネクタではありませんが、利用するためにはAzure PortalでBing Searchリソースを作成する必要があります。

 

 

Bing Search APIとは

Microsoft検索エンジン Bingの検索をプログラムから行うことができるインターフェースです。

  • Web Search API
  • Image Search API
  • News Search API
  • Video Search API
  • Visual Search API
  • Custom Search API
  • Entity Search API
  • Spell Check API
  • Autosuggest API

等多数のAPIが含まれておりWebページだけでなく画像やビデオ、ニュースなどを取得するAPIも提供されています。

これらのうち、今回はWeb Search APIを利用します。

 

【重要】Bing Search API の要件を確認しておきましょう

こちらのページにBing Search APIの要件があります。禁止事項などがありますので必ず確認しておきましょう。

learn.microsoft.com

 

また、Power AutomateでBing の検索結果を取得したら生成AIに渡してあれこれしたくなってきますが、こちらのページでLLMとBingSearch APIを組わせて使う場合の要件が説明されています。そういった用途の場合は必ずこちらのページを確認しましょう。

learn.microsoft.com

 

準備作業-Azure PortalでBing Serach リソースを作成する

※Azureアカウント、サブスクリプション、リソースグループはあらかじめ作成済みの状態から説明しています。

 

1.Bing Search API のページを開き、「Try Now」をクリック

https://www.microsoft.com/en-us/bing/apis

2.Azure PortalにサインインしBing Search リソースを作成する

  • サブスクリプション
    • あらかじめ作成しておく必要があります
  • リソースグループ
    • 複数のリソースをまとめて管理するためのグループです。作成済みのリソースグループがある場合は選択し、ない場合はこのページから新規作成もできます。
  • 名前
    • Bing Search リソースの名前を付けます
  • リージョン
    • グローバルのまま変更不要
  • 価格レベル

全て設定したら契約条件に同意するチェックをオンにし「確認と作成」をクリックします。

 

3.選択した内容を確認し問題なければ「作成」をクリックするとリソースが作成され舞す

4.作成が完了したらリソースに移動します

5.作成したBing Searchリソースを開くとこんな画面が表示されます

ページ中央「お試しください」の下で実際に検索を試すことができます。

6.画面中央右のキーの管理の「click here to manage keys 」をクリックします

 

7.Key1の右端のアイコンをクリックしAPIキーをクリップボードにコピーします

コピーしたキーは安全な場所に保管しておきます。

 

以上で、Azure Portalでの準備作業は完了です。

 

フロー全体図

 

フロー解説

1.[Flow button for mobile]フローを手動でトリガーする

テストフローなのでこちらをトリガーにしています。

 

2.[Data Control]作成-API Key

本来は Azure Key Valutを使って安全な状態でキーを管理すべきですが、作成環境の都合で今回は作成アクションにキーを格納しています。

  • 入力
    • Bing Serach APIのキー

 

3.[HTTP]HTTP-Bing Web Search API

Bing Web Search APIを呼びます。

 

こんな感じのjsonで返されます。

 

こちらのページに応答jsonオブジェクトの説明があります。WebPagesに関するところはこちらです。

learn.microsoft.com

 

 

参考にしたページ

www.microsoftするom

 

learn.microsoft.com

 

気になった点

site: オプションは機能しない?

Bingで検索する時例えば「apple キーボード site:yodobashi.com」とsite:を使ってドメインを指定する事が出来ます。

リファレンスページにはこのように検索オプションが使用できることが明記されています。しかし、試した限り site: (検索結果をドメイン指定でフィルターリングするオプション)を指定してもWebページと同様に指定すると結果を返さなくなり、リファレンスページように+でキーワードを結合しても異なるドメインが含まれることがあり意図した結果になりませんでした。この辺りコツがいるのかもしれません。

今回はあまり深く追求していません。特定ドメインを検索するのであれば「Bing Custom Search API」がありますのでそちらを使う事にしました。

「Bing Custom Search API」に続きます。