2012-03-26 103 views
6

我想設置一個簡單的應用程序,消費雅虎幻想體育API,並允許查詢通過YQL執行。問題與雅虎體育API

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; 
    } 

有一些隱藏在這裏,我有一個自定義的類,使雅虎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%20in%20%28%27268%27%29&oauth_signature=NYKIbhjoirJwB6ADxVq5DOgLW1w%3D

有了這個結構,我似乎總是得到 認證錯誤。表fantasysports.games需要比提供的更高的安全級別,您提供的應用程序,但至少USER是預計

我不知道這是什麼意思,我傳遞我的身份驗證信息到API,但它似乎我需要更多的權限。有沒有人有這個工作的例子。如果需要,我可以提供代碼getURL方法,但它或多或少複製粘貼從這裏

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

讓我知道如果您有任何問題。謝謝!

+0

你有沒有想出解決辦法? – 2012-09-14 20:51:08

+0

@RyanDrost我沒有 – 2012-09-25 14:19:15

+0

如果任何人有任何想法如何拉簡單的球員數據(應該公開?),請幫助我。有沒有人想過如何在他們的MVC網絡應用程序中使YQL命令工作? – dave317 2017-05-15 03:08:43

回答

0

我不能使它工作使用YQL,但我可以在https://fantasysports.yahooapis.com/fantasy/v2/

例如得到玩家的數據和結果草案等,通過直接使用API獲得NFL球員大衛·約翰遜的詳細信息:

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

主持人:fantasysports.yahooapis.com

授權:承載[ Base64編碼的客戶端Id:揭祕]

內容類型:應用程序/ JSON