“错误”;“访问控制允许原点”不允许原点为空;在jsOAuth
我正在尝试将twitter API与库一起使用 完整html“错误”;“访问控制允许原点”不允许原点为空;在jsOAuth,oauth,xmlhttprequest,twitter,cross-domain,twitter-oauth,Oauth,Xmlhttprequest,Twitter,Cross Domain,Twitter Oauth,我正在尝试将twitter API与库一起使用 完整html 加载。。 var oauth=oauth({ 消费者语:“-MY-KEY-”, 消费者信条:“我的秘密” }); 已更新 oauth.get(“?”,成功,失败) 功能成功(数据){ $(“#message”).html(“suces:+data.text”); var timeline=jQuery.parseJSON(data.text); 控制台日志(时间线); $。每个(时间线、功能(元素){ console.log(ele
加载。。
var oauth=oauth({
消费者语:“-MY-KEY-”,
消费者信条:“我的秘密”
});
已更新
oauth.get(“?”,成功,失败)
功能成功(数据){
$(“#message”).html(“suces:+data.text”);
var timeline=jQuery.parseJSON(data.text);
控制台日志(时间线);
$。每个(时间线、功能(元素){
console.log(element.text);
});
}
功能故障(数据){
log(“扔腐烂的水果,失败的东西”);
$(“#消息”).html(“错误”);
}
结果
问题
- 我做错了什么
- 如何在PC中使用twitter API
- 使用
- 使用服务器端代理
- 将您的代码存储在
路径上,这样可以消除跨域限制文件://
- 更改浏览器的安全设置以允许此类访问
- 使用
- 使用服务器端代理
- 将您的代码存储在
路径上,这样可以消除跨域限制文件://
- 更改浏览器的安全设置以允许此类访问
另外,作为一名经验丰富的Twitter开发人员,我需要对您的代码做一个重要的说明:您正在使用Javascript访问API。虽然使用JS来实现这一点并不是不允许的,但在javascript中使用OAuth是非常不安全的,如果您在网站上使用此代码,您的应用程序将被禁止访问Twitter API。我使用“JS”只是为了学习,在我的实际应用程序中不会这样。我修改了代码以使用JSONP(仍然不起作用)。对不起,我不明白:“使用服务器端代理”您的意思是在IIS服务器上发布文件(例如)?如何更改浏览器设置以允许这种访问?感谢您的帮助大多数浏览器允许您在“安全”窗格中更改此设置。对不起,我不能说得更具体了。使用服务器端代理时,我的意思是编写一个脚本,只需从服务器发出请求。AJAX将允许您向正在浏览的域发出请求。JSONP在您的案例中应该可以很好地工作-如果它在您的案例中不工作,那么您就没有正确地实现它。我在以下地址发布了代码:Think so-那不是JSONP。我使用“JS”只是为了研究,在我的实际应用程序中不会是这样。我修改了代码以使用JSONP(仍然不起作用)。对不起,我不明白:“使用服务器端代理”您的意思是在IIS服务器上发布文件(例如)?如何更改浏览器设置以允许这种访问?感谢您的帮助大多数浏览器允许您在“安全”窗格中更改此设置。对不起,我不能说得更具体了。使用服务器端代理时,我的意思是编写一个脚本,只需从服务器发出请求。AJAX将允许您向正在浏览的域发出请求。JSONP在您的案例中应该可以很好地工作——如果它在您的案例中不工作,那么您就没有正确地实现它。
<div id="message">Loading..</div>
<script src="jsOAuth-1.3.3.min.js" type="text/javascript"></script>
<script src="http://code.jquery.com/jquery-1.7.min.js" type="text/javascript"></script>
<script type="text/javascript">
var oauth = OAuth({
consumerKey: "-MY-KEY-",
consumerSecret: "MY-SECRET"
});
function success(data){
$("#message").html("Sucess: " + data.text);
var timeline = jQuery.parseJSON(data.text);
console.log(timeline);
$.each(timeline, function (element){
console.log(element.text);
});
}
function failure(data) {
console.log("Throw rotten fruit, something failed");
$("#message").html("Error" );
}
</script>