【问题标题】:twitter jsOAuth fetch request token returns 401 errortwitter jsOAuth 获取请求令牌返回 401 错误
【发布时间】:2013-04-05 21:24:34
【问题描述】:

应用类型:移动, 钛 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.html

1- 我调用 fetchRequestToken (ok) 2-我打开用户授权/登录窗口(确定) 3 - 输入用户名和密码并获取回调 url (ok) 4 - 调用 fetchAccessToken(得到 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 

知道可能是什么问题吗?我被屏蔽了

【问题讨论】:

    标签: twitter titanium titanium-mobile jsoauth


    【解决方案1】:

    Twitter 本周突然对 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)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-25
      • 2018-12-02
      相关资源
      最近更新 更多