我正在尝试设置一个消耗Yahoo Fantasy体育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 …Run Code Online (Sandbox Code Playgroud) 我想将我的应用程序与雅虎日历同步,以便在应用程序中添加的事件直接添加到用户的雅虎日历中.有没有api?
我试过http://developer.yahoo.com/social/sdk/objectivec/,但它对我帮助不大.
我想在我的网络应用程序中使用Yahoo Fantasy sport API,因为我使用OAuth进行Yahoo登录.我有消费者密钥和密钥,我成功传递了密钥,当我运行以下代码时.它重定向到Yahoo登录,它要求访问用户凭据的权限.如果我将页面重定向到https://api.login.yahoo.com/oauth/v2/request_auth,它会显示验证码.如果我按下验证码页面中的关闭按钮,则不会回调到我的网址.
@ts=Time.now.to_i
@callback_url = "http://localhost:3000/callback"
@nonce = SecureRandom.hex()
consumer = OAuth::Consumer.new("my consumerkey","secret key",
{ :site => 'https://api.login.yahoo.com',
:http_method => :post,
:scheme => :header,
:oauth_nonce => @nonce,
:request_token_path => '/oauth/v2/get_request_token',
:authorize_path => '/oauth/v2/request_auth',
:access_token_path => '/oauth/v2/get_token',
:oauth_callback => "http://localhost:3000/callback",
:oauth_timestamp => Time.now.to_i,
:oauth_signature_method => "HMAC-SHA-1",
:oauth_version => "1.0",
:oauth_callback_confirmed => true,
})
request_token = consumer.get_request_token
session[:request_token]=request_token
redirect_to request_token.authorize_url
access_token=request_token.get_access_token
access = ActiveSupport::JSON.decode(access_token.to_json)
if !(access.present?)
@response = "Response failed"
else
@response = access
end
Run Code Online (Sandbox Code Playgroud)
你能否告诉我为获得access_token而进行的回调有哪些变化?
如果我想开发一个在本地使用Yahoo API的Web应用程序,我应该为主页URL和回调域输入什么.没有这个,我无法获得秘密和可发布的密钥.
我不确定在这里提出这个问题是否合适,但任何建议,指导等都会非常感激.我是Web应用程序开发世界的新手.
我构建了一个简单的请求函数来从 Yahoo Finance API 获取 JSON,但在从 JSON 中提取数据时遇到问题。
这是我的功能
var request = require("request");
var stock_url = "http://finance.yahoo.com/webservice/v1/symbols/FB/quote?format=json&view=%E2%80%8C%E2%80%8Bdetail";
request(stock_url, function (error, response, body) {
if (!error && response.statusCode == 200) {
var stock_data = body;
console.log("Yahoo Finance API: ", stock_data)
var stock_price = stock_data.list.resources[0].resource.fields.price;
console.log("stock_price: ", stock_price);
};
});
Run Code Online (Sandbox Code Playgroud)
返回的 JSON 已var stock_data成功存储,然后我尝试提取“价格”数据,var stock_price = stock_data.list.resources[0].resource.fields.price但收到 TypeError:无法读取未定义的属性“资源”。
下面是 JSON,我尝试了多种衍生方法,但var stock_price没有成功。任何帮助深表感谢。
{
"list": {
"meta": {
"type": "resource-list",
"start": 0,
"count": 1
},
"resources": [
{ …Run Code Online (Sandbox Code Playgroud) 在过去的 3 年里,我一直在使用以下 URL,没有出现任何问题。但是,它已停止返回结果。
网址: https ://query.yahooapis.com/v1/public/yql?q=select * from yahoo.finance.xchange where pair in ("ARSARS")&env=store://datatables.org/alltableswithkeys
现在返回以下内容:
<?xml version="1.0" encoding="UTF-8"?>
<query xmlns:yahoo="http://www.yahooapis.com/v1/base.rng" yahoo:count="0" yahoo:created="2017-11-02T09:33:25Z" yahoo:lang="en-AU">
<results/>
</query><!-- total: 9 -->
Run Code Online (Sandbox Code Playgroud)
请注意没有结果,它只有“结果”标签。
我已经尝试过很多不同的计算机和浏览器。我也尝试过更改货币组合,但没有运气。
任何人都可以发现我做错了什么吗?
我有现有的网络应用程序和专用的雅虎应用程序.它使用OAuth2隐式授权流程
现在我想建立另一个按照相同原则工作的域名.我用新的回调域
创建了新的Yahoo App
以前获得用户同意的网址(在这两种情况下)都是https://api.login.yahoo.com/oauth2/request_auth?client_id=consumer_key&redirect_uri=https://redir_url&response_type=token
它适用于旧域和旧雅虎应用程序(消费者密钥以 - 结尾)但它不想使用新域和新的雅虎应用程序(消费者密钥不会因某种原因而终止).
我在看到用户同意链接后收到此消息:
开发人员:请从代码,令牌或id_token中选择响应类型并再次提交.
虽然我提供了有效的response_token.你知道为什么它不适用于新域名和新的雅虎应用程序吗?
码:
var authorizationUrl = 'https://api.login.yahoo.com/oauth2/request_auth'
+ '?client_id=' + encodeURIComponent(consumerKey)
+ '&redirect_uri=' + encodeURIComponent(redirectUri)
+ '&response_type=token';
window.open(authorizationUrl, '_blank', 'location=yes,height=570,width=650,scrollbars=yes,status=yes');
Run Code Online (Sandbox Code Playgroud) 我已在https://developer.yahoo.com/apps/BY4faaaa/注册了我的应用程序
我如何授予雅虎邮件阅读范围?由于仪表板中未显示范围,
如何启用范围?mail-r
在此屏幕截图中,是雅虎的[电子邮件范围],但我看不到授予读取经过身份验证的用户电子邮件的权限的范围(https://developer.yahoo.com/oauth2/guide/yahoo_scopes/)