LoginSignup
1
0

More than 1 year has passed since last update.

LINQPadでODataのサービスに対して検索して、ODataクエリを確認する

Last updated at Posted at 2021-07-20

はじめに

Office 365のAPIの動作確認をするために、ODataクエリの動作確認を簡単にできるものが無いかな?と思いLINQPadのOData ドライバーについて調査しました。

残念ながらOIDCやAOuthなどのクレームベースの認証には対応していないので、Outlookなどの認証が必要なODataエンドポイントに対して利用する場合は、前段で認証を処理してくれるCDATAのアダプターなどを導入する必要がありそうです。

ただ、認証が必要ないか、後述するいくつかの認証方式で良い場合はそのまま利用できそうなので導入方法を書いておきます。

導入

コネクション作成時に表示されるView more driversから新しいドライバーの追加を行うことができます。
image.png
ドライバーの検索画面でodataなどのキーワードで検索し、OData v4 Driverを選択してinstallボタンからインストールします。
image.png
正常にインストールされると、コネクションの一覧に先ほどインストールしたOdata v4 Connectionが表示されるので、このドライバーを使って接続を作成していきます。
image.png

コネクションの作成

odata.orgで提供されているサンプルサービスを参照してみます。LinqPadはこのURLをベースにmetadataを探しに行くようですね。
image.png
現在はAccept invalid certificatesにチェックをしないと下記のようにエラーになってしまうようなので注意が必要です。
image.png

接続作成時にはLog ondetailsにある次の認証方式のクエリだけがサポートされています。
- No authentication
- Windows authentication
- Basic authentication
- Client certificate authentication
OAuthでの認証ができないか?といった内容がLINQPadのフォーラムに挙がっていましたが、現在のところサポートされていないようです。
https://forum.linqpad.net/discussion/113/odata-service-and-oauth

コネクションが登録できると、コネクションツリーにプロパティーが表示されます。
image.png

クエリの実行

クエリを実行するとResultsタブに結果が表示され、
image.png
SQLタブにODataのクエリが表示されます。
image.png

C#のコードでフィルタしたりソートすると、ODataクエリが変更され
image.png
結果がその通りに表示されることが分かります。
image.png

ただし、ODataのクエリに変換できないような式はエラーになってしまいます。
image.png

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0