В этом случае вы обращаетесь к общедоступным данным (в отличие от личных данных пользователя), поэтому вы будете использовать двухстороннюю авторизацию OAuth. Эта страница на сайте YDN является хорошей отправной точкой для различных типов данных: Личные данные v Публичные данные .
Двунаправленный означает, что вам необходимо подписать ваш запрос определенным образом (с вашим ключом приложения и секретом), но нет шага авторизации пользователя. Подписание OAuth обычно сложно, поэтому большинство людей будут использовать библиотеку OAuth.
На странице Примеры кодов YQL есть хороший обзор, иллюстрирующий это. Прокрутите вниз до раздела «Запросы к публичным данным», чтобы увидеть примеры вызова 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 #, но, надеюсь, это даст вам дополнительную информацию о том, что будет необходимо. Я бы искал двухсторонние решения OAuth для C # - на этот вопрос, похоже, есть несколько рабочих ответов: Кто-нибудь реализовал 2 Legged OAuth с использованием DNOA? .
Вот еще одно возможное решение, веб-служба, которая выполняет для вас двухстороннюю подпись OAuth: OAuth-ify this: двухсторонняя служба OAuth для YQL .