Проблема с Yahoo Sports API

Я пытаюсь настроить простое приложение, которое потребляет спортивный 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 ok для Yahoo API. Вот структура 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%2***%20%28%27268%27%29&oauth_signature=NYKIbhjoirJwB6ADxVq5DOgLW1w%3D

С этим я всегда, кажется, получаю Ошибка аутентификации. Для таблицы fantasysports.games требуется более высокий уровень безопасности, чем предусмотрено, вы предоставили APP, но ожидается хотя бы USER

Я не уверен, что это значит, я передаю свою auth-информацию в api, но мне кажется, мне нужно больше разрешений. У кого-нибудь есть рабочий пример этого. Если необходимо, я могу предоставить код методу GetUrl, но это более или менее копия отсюда

http://andy.edinborough.org/Getting-Started-with-Yahoo-and-OAuth

Сообщите мне, если у вас есть вопросы. Спасибо!

1 ответ

Я не мог заставить его работать с использованием YQL, но я смог получить данные игроков и результат проекта и т.д., напрямую используя API-интерфейсы https://fantasysports.yahooapis.com/fantasy/v2/

например. чтобы получить информацию НФЛ Дэвида Джонсона:

GET/fantasy/v2/players;player_keys=371.p.28474 HTTP/1.1

Хост: fantasysports.yahooapis.com

Авторизация: Bearer [[Base64 encoded ClientId: Secret]]

Content-Type: application/json

licensed under cc by-sa 3.0 with attribution.