Я пытаюсь настроить простое приложение, которое использует спортивный API Yahoo Fantasy и позволяет выполнять запросы через YQL.
class Program
{
static void Main(string[] args)
{
string yql = "select * from fantasysports.games where game_key in ('268')";
//var xml = QueryYahoo(yql);
// Console.Write(xml.InnerText);
string consumerKey = "--my key--";
string consumerSecret = "--my secret--";
var xml = QueryYahoo(yql, consumerKey, consumerSecret);
Console.Write(xml.InnerText);
}
private static XmlDocument QueryYahoo(string yql)
{
string url = "http://query.yahooapis.com/v1/public/yql?format=xml&diagnostics=false&q=" + Uri.EscapeUriString(yql);
var req = System.Net.HttpWebRequest.Create(url);
var xml = new XmlDocument();
using (var res = req.GetResponse().GetResponseStream())
{
xml.Load(res);
}
return xml;
}
private static XmlDocument QueryYahoo(string yql, string consumerKey, string consumerSecret)
{
string url = "http://query.yahooapis.com/v1/yql?format=xml&diagnostics=true&q=" + Uri.EscapeUriString(yql);
url = OAuth.GetUrl(url, consumerKey, consumerSecret);
var req = System.Net.HttpWebRequest.Create(url);
var xml = new XmlDocument();
using (var res = req.GetResponse().GetResponseStream())
{
xml.Load(res);
}
return xml;
}
Здесь есть некоторые скрытые, у меня есть собственный класс, чтобы сделать URL-адрес нормальным для API Yahoo.Вот структура URL, которую возвращает метод OAuth.GetUrl ()
http://query.yahooapis.com/v1/yql?diagnostics=true&format=xml&oauth_consumer_key=mykey&oauth_nonce=rlfmxniesu&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1332785286&oauth_version=1.0&q=select%20%2A%20from%20fantasysports.games%20where%20game_key%20in%20%28%27268%27%29&oauth_signature=NYKIbhjoirJwB6ADxVq5DOgLW1w%3D
При этом я всегда получаю ошибку аутентификации.Таблица fantasysports.games требует более высокого уровня безопасности, чем предусмотрено, вы предоставили приложение, но ожидается, что по крайней мере ПОЛЬЗОВАТЕЛЬ
Я не уверен, что это значит, я передаю свою информацию об аутентификации в API, но, похоже,Мне нужно больше разрешений.У кого-нибудь есть рабочий пример этого.При необходимости я могу предоставить код для метода GetUrl, но это более или менее вставка копии здесь
http://andy.edinborough.org/Getting-Started-with-Yahoo-and-OAuth
Дайте мне знать, если у вас есть какие-либо вопросы.Спасибо!