我正在尝试设置一个简单的应用程序,消费雅虎幻想体育API,并允许查询通过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;
}有一些隐藏在这里,我有一个自定义类,使网址ok的雅虎API。下面是OAuth.GetUrl()方法返回的URL的结构
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
如果你有任何问题,请告诉我。谢谢!
发布于 2017-08-09 10:28:01
我不能使用YQL让它工作,但我可以通过直接使用https://fantasysports.yahooapis.com/fantasy/v2/上的API来获取球员数据和选秀结果等
例如,要获取NFL球员David Johnson的详细信息:
GET /fantasy/v2/player;player_key=371.p.28474 HTTP/1.1
主持人: fantasysports.yahooapis.com
授权:承载[Base64编码的客户端:秘密]
Content-Type: application/json
https://stackoverflow.com/questions/9877486
复制相似问题