この場合、(ユーザーのプライベートデータではなく)パブリックデータにアクセスしているため、OAuthの2本足の認証を使用します。YDNサイトのこのページは、さまざまなデータタイプ(プライベートデータvパブリックデータ)の開始点として適しています。
二本足とは、(アプリケーションキーとシークレットを使用して)特定の方法でリクエストに署名する必要があることを意味しますが、ユーザー認証の手順はありません。OAuth署名は通常注意が必要なため、ほとんどの人はOAuthライブラリを使用します。
これを説明するYQLコード例ページに優れたウォークスルーがあります。[パブリックデータのクエリ]セクションまで下にスクロールして、署名された2本足のリクエストでYQLを呼び出す例を確認します。
<?php
include_once("yosdk/lib/Yahoo.inc");
define("API_KEY","your-api-key-here");
define("SHARED_SECRET","your-secret-here");
YahooLogger::setDebug(true);
$twoleg = new YahooApplication (API_KEY, SHARED_SECRET);
$query = "select * from yahoo.finance.historicaldata where symbol =\"YHOO\" and startDate = \"2011-12-01\" and endDate = \"2011-12-04\"";
$results = $twoleg->query ($query);
print_r ($results);
上記のコードを実行すると、次のような過去の株式データが得られます。
[quote] => Array
(
[0] => stdClass Object
(
[date] => 2011-12-02
[Date] => 2011-12-02
[Open] => 16.31
[High] => 16.41
[Low] => 16.03
[Close] => 16.05
[Volume] => 22714500
[Adj_Close] => 16.05
)
[1] => stdClass Object
(
[date] => 2011-12-01
[Date] => 2011-12-01
[Open] => 16.42
[High] => 16.46
[Low] => 16.09
[Close] => 16.23
[Volume] => 47059800
[Adj_Close] => 16.23
)
)
もちろん、あなたはC#について質問していますが、うまくいけば、これにより、何が必要になるかについてのより多くの背景が得られます。C#用の2本足のOAuthソリューションを検索します-この質問にはいくつかの実用的な答えがあるようです:DNOAを使用して2本足のOAuthを実装した人はいますか?。
別の可能な解決策は、2本足のOAuth署名を行うWebサービスです。OAuth-これを修正します:YQL用の2本足のOAuthサービス。