应用类型:移动端,钛金SDK: 3.0.2.GA,平台和版本: Android 4.0.4,设备: Android Xperia P,
我正在尝试通过jsOAuth 1.3.6使用twitter API。在获取请求令牌(oAuthApi.fetchAccessToken()方法)之前,所有的OAuth都运行得很好。我总是收到“未授权”的错误,你知道为什么吗?请参阅下面的代码
oAuthApi.fetchRequestToken(function(data) {
//authorize
var authorizeUi = Ti.UI.createWebView({
width : Ti.UI.FILL,
height : Ti.UI.FILL,
top : 0,
left : 0,
url : data
});
authorizeUi.addEventListener('load', function(e) {
if (authorizeUi.getUrl().indexOf('twitterOauthCallback') > -1) {
oAuthApi.fetchAccessToken(function(data) {
oAuthApi.saveAccessToken();
oAuthApi.setAuthorised(true);
var accessToken = oAuthApi.getAccessToken();
var accessTokenSecret = oAuthApi.getAccessTokenSecret();
...some other code here
}, function(data) {
alert('fetchAccessToken unauthorized error ' + data.error);
});
}
});
}, function(data) {
alert('fetchRequestToken error');
});下面是我的jsOAuth初始化:
var oauth = OAuth({
consumerKey : jsonObj.consumerKey,
consumerSecret : jsonObj.consumerSecret,
callbackUrl : jsonObj.callbackUrl
});我的回调是
http://192.168.1.116:8888/callback/twitterOauthCallback.html1-我调用fetchRequestToken (ok) 2-打开用户授权/登录窗口(ok) 3-输入用户名和密码并获取回调url (ok) 4-调用fetchAccessToken (get 401错误)
下面是我的标题:
oauth_callback = http://192.168.1.74:8888/callback/twitterOauthCallback.html
oauth_consumer_key = E3xxxxxxxxxxxxxxHfg
oauth_token = J1fxxxxxxxxxxxxxxxxxxxxxxxxxxxx20
oauth_signature_method = HMAC-SHA1
oauth_timestamp = 1365151792
oauth_nonce = 36222C667E353A51
oauth_verifier =
oauth_version = 1.0 你知道问题出在哪里吗?我被屏蔽了
发布于 2013-04-05 21:24:35
推特本周对oauth做了一个突如其来的改变:https://dev.twitter.com/discussions/16443
查看报头,问题是您的oauth_verifier值为空,而更改现在强制使用此值。您将通过您的回调URL作为参数(http://192.168.1.116:8888/callback/twitterOauthCallback.html?oauth_token=xxx&oauth_verifier=xxx)获得此结果。
https://stackoverflow.com/questions/15813172
复制相似问题