Javascript oAuth失败:不允许…;访问控制允许源
这里怎么了 选项401(未经授权) jsOAuth-1.3.4.js:483 XMLHttpRequest无法加载 . 起源”http://localhost:8080" Access-Control-Allow-Origin.Object不允许Javascript oAuth失败:不允许…;访问控制允许源,javascript,oauth,Javascript,Oauth,这里怎么了 选项401(未经授权) jsOAuth-1.3.4.js:483 XMLHttpRequest无法加载 . 起源”http://localhost:8080" Access-Control-Allow-Origin.Object不允许 jsOauth试验 $(文档).ready(函数(){ 变量选项={ consumerKey:“你的消费者密钥”, 消费者信念:“你的消费者秘密” }; var请求参数; var-accessParams; var oauth=oauth(选项);
jsOauth试验
$(文档).ready(函数(){
变量选项={
consumerKey:“你的消费者密钥”,
消费者信念:“你的消费者秘密”
};
var请求参数;
var-accessParams;
var oauth=oauth(选项);
oauth.get('https://twitter.com/oauth/request_token',
功能(数据){
console.dir(数据);
打开窗户https://twitter.com/oauth/authorize?"数据文本",;
requestParams=data.text
},
函数(数据){alert('darn');console.dir(数据)}
);
$('#pinbutton')。单击(函数(){
if($('#pin').val()){
oauth.get('https://twitter.com/oauth/access_token?oauth_verifier='+$('#pin').val()+'和'+requestParams,
功能(数据){
console.dir(数据);
//根据需要拆分查询字符串
var accessParams={};
var qvars_tmp=data.text.split('&');
对于(var i=0;i”);
},
函数(数据){alert('lame');console.dir(数据);}
);
}
});
jsOauth试验
当您获得PIN码时,请在此处输入。
拯救
我可以给你答案,但你的做法违反了Twitter API服务条款。JavaScript中的OAuthing将秘密凭证公开给访问该站点的任何人,这是一件坏事。请在您的后端执行此操作。我可以给您答案,但您所做的是违反Twitter API服务条款的。JavaScript中的OAuthing将秘密凭证公开给访问该站点的任何人,这是一件坏事。请在您的后端执行此操作。从属关系披露:我在Twitter的非开发人员和非API Rolethaks公司工作,tt将成为我的node.js后端的一部分。不过,我还是得到了一个错误信息:我在一个非开发人员和非API的Rolethaks公司为Twitter工作,tt将成为我的node.js后端的一部分。但我还是犯了这个错误
<!DOCTYPE html>
<html>
<head>
<!--
A simple example of PIN-based oauth flow with Twitter and jsOAuth.
This is mostly based on/copied from <http://log.coffeesounds.com/oauth-and-pin-based-authorization-in-javascri>.
Get jsOAuth at <https://github.com/bytespider/jsOAuth/downloads>
-->
<meta charset="utf-8">
<title>jsOauth test</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
<script type="text/javascript" src="jsOAuth-1.3.4.js"></script>
<style type="text/css" media="screen">
</style>
<script>
$(document).ready(function() {
var options = {
consumerKey: 'YOUR_CONSUMER_KEY',
consumerSecret: 'YOUR_CONSUMER_SECRET'
};
var requestParams;
var accessParams;
var oauth = OAuth(options);
oauth.get('https://twitter.com/oauth/request_token',
function(data) {
console.dir(data);
window.open('https://twitter.com/oauth/authorize?'+data.text);
requestParams = data.text
},
function(data) { alert('darn'); console.dir(data) }
);
$('#pinbutton').click(function() {
if ($('#pin').val()) {
oauth.get('https://twitter.com/oauth/access_token?oauth_verifier='+$('#pin').val()+'&'+requestParams,
function(data) {
console.dir(data);
// split the query string as needed
var accessParams = {};
var qvars_tmp = data.text.split('&');
for (var i = 0; i < qvars_tmp.length; i++) {;
var y = qvars_tmp[i].split('=');
accessParams[y[0]] = decodeURIComponent(y[1]);
};
oauth.setAccessToken([accessParams.oauth_token, accessParams.oauth_token_secret]);
getHomeTimeline();
},
function(data) { alert('poop'); console.dir(data); }
);
}
});
function getHomeTimeline() {
oauth.get('https://api.twitter.com/1/statuses/home_timeline.json',
function(data) {
entries = JSON.parse(data.text);
var html = [];
for (var i = 0; i < entries.length; i++) {
html.push(JSON.stringify(entries[i]));
};
$('#timeline').html(html.join('<hr>'));
},
function(data) { alert('lame'); console.dir(data); }
);
}
});
</script>
</head>
<body>
<h1>jsOauth test</h1>
When you get a PIN, enter it here.
<input id="pin" type="text" value=""><button id='pinbutton'>Save</button>
<div id="timeline">
</div>
</body>
</html>