Azure Logic Appsと国立国会図書館サーチAPIでSharePointの書籍リストページを作る
SharePointで書籍リストページを作りたかったが、情報入力が面倒くさい。そんなとき国立国会図書館サーチAPIなら書影も含めてISBNから取ってこれるそうなので、Azure Logic Appsを使って楽に入力する。
作るもの
こんな感じでSharePointの書籍リストを作る。
![](https://assets.st-note.com/img/1683086087947-VQIHPAHvJM.png?width=1200)
入力する際に、ISBNを入れるだけで書籍タイトルや書影が入力されるようにする。
![](https://assets.st-note.com/img/1683086424922-8PYM7KcaUG.png?width=1200)
![](https://assets.st-note.com/img/1683086562202-fEXp5XPRuV.png?width=1200)
前提(国立国会図書館APIについて)
検索APIが提供されているので、規則を守ってこれを使う。
前提(Power Automateについて)
最初、Azure Logic AppsではなくPower Automateを使おうとしたが、Power AutomateだとREST APIを叩くためのHTTPアクションを使用するためにPROライセンスが必要。一方で、Azure Logic AppsはPower Automateとほぼ同じUIで、利用したリソース毎に従量課金でHTTPアクションを利用できるため、簡易用途で試す際は良い(Azureのアカウント作成は必要)。
作り方
1. Listsを用意する
SharePointに空のリストを作る。ISBNを入力する列と、書籍情報が自動挿入される予定の列を作る。pubDateは日付、imageは画像、その他は1行テキストとする。
![](https://assets.st-note.com/img/1683087746211-rVBFx4556o.png?width=1200)
2. Azure Logic Appsで設定する
作成したリストに項目が作成されたときをトリガにする。
![](https://assets.st-note.com/img/1683088872282-mqK5g4yQBY.png)
HTTPで国立国会図書館のAPIを叩く。
![](https://assets.st-note.com/img/1683088557168-dJTElb2iRb.png?width=1200)
HTTPアクションの返り値の「本文」にXMLが返っているので、関数xpathを使ってXMLから所望の値を取り出して、各列の項目を更新する。URLはamazonで開くようにした(amazonのURLはISBNで指定できる)。
![](https://assets.st-note.com/img/1683088806278-4cRterHmSF.png)
画像を入れるためには、上記の「項目を更新」アクションは画像に対応していないので、SharePointのAPIを用いる必要がある。SharePointのAPIを用いてリストに画像を挿入する方法はこちらを参考にした。
書影APIで画像を取得したあと、とりあえずsharepointに保存する。
※書影APIのために13桁のISBNが必要だったので、上記のHTTPアクションの返り値からISBN-13を取り出したが、そのへんは省略。
フォルダのパスとして、当該リストの画像格納フォルダがあるのでそこを指定する(一度当該リストに手動で画像を挿入して、その画像が格納された場所が格納場所)。ファイルコンテンツとしてHTTP2アクションの返り値「本文」を指定する。
![](https://assets.st-note.com/img/1683090031377-xGYIvCA7PN.png?width=1200)
画像をリストに格納するために、上記の「ファイル作成」アクションの返り値の中にある「Etag」の情報を、SharePointのAPIに適した形に書き換える。(このあたりは上記のブログを参考にしている。)
![](https://assets.st-note.com/img/1683092062697-Ap9kNhGJBe.png)
最後にSharePointのAPIを用いてリストに挿入する。
![](https://assets.st-note.com/img/1683090430244-U6k7vHOils.png?width=1200)
3. テストする
実際、当該リストに行を新規作成すると、入力したISBNからその他の情報が自動抽出して入力されることが確認できる。
※ちなみにISBNはamazon検索で適当に検索したものをコピペして入れた。書影APIは第2版などのISBNには対応していないようなのでときどき404エラーになるみたいで、もう少し修正の余地があるかも。
![](https://assets.st-note.com/img/1683091377641-hfKWVS65Uw.png?width=1200)
おわり
Power Automateライクに簡単にREST APIを叩いて結果をSharePointに返すものとして、Azure Logic Appsは有意義そう。SharePointに情報集約するために必要なTipsをためていきたい。