Quantcast
Channel: C#タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 9743

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

$
0
0
はじめに 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のクエリが表示されます。 C#のコードでフィルタしたりソートすると、ODataクエリが変更され 結果がその通りに表示されることが分かります。 ただし、ODataのクエリに変換できないような式はエラーになってしまいます。

Viewing all articles
Browse latest Browse all 9743

Trending Articles