はじめに
Office 365のAPIの動作確認をするために、ODataクエリの動作確認を簡単にできるものが無いかな?と思いLINQPadのOData ドライバーについて調査しました。
残念ながらOIDCやAOuthなどのクレームベースの認証には対応していないので、Outlookなどの認証が必要なODataエンドポイントに対して利用する場合は、前段で認証を処理してくれるCDATAのアダプターなどを導入する必要がありそうです。
ただ、認証が必要ないか、後述するいくつかの認証方式で良い場合はそのまま利用できそうなので導入方法を書いておきます。
導入
コネクション作成時に表示されるView more drivers
から新しいドライバーの追加を行うことができます。
ドライバーの検索画面でodata
などのキーワードで検索し、OData v4 Driver
を選択してinstall
ボタンからインストールします。
正常にインストールされると、コネクションの一覧に先ほどインストールしたOdata v4 Connection
が表示されるので、このドライバーを使って接続を作成していきます。
コネクションの作成
odata.orgで提供されているサンプルサービスを参照してみます。LinqPadはこのURLをベースにmetadataを探しに行くようですね。
現在はAccept invalid certificates
にチェックをしないと下記のようにエラーになってしまうようなので注意が必要です。
接続作成時にはLog ondetailsにある次の認証方式のクエリだけがサポートされています。
- No authentication
- Windows authentication
- Basic authentication
- Client certificate authentication
OAuthでの認証ができないか?といった内容がLINQPadのフォーラムに挙がっていましたが、現在のところサポートされていないようです。
https://forum.linqpad.net/discussion/113/odata-service-and-oauth
コネクションが登録できると、コネクションツリーにプロパティーが表示されます。
クエリの実行
クエリを実行するとResultsタブに結果が表示され、
SQLタブにODataのクエリが表示されます。