我试图在用户通过此链接登录后获取用户详细信息 - https://api.twitter.com/1.1/account/verify_credentials.json
首先我要求 oauth_token ,第二步我要求签名,最后我尝试使用 oauth_token和签名<获取用户数据/ strong>即可。在最后一次通话中,我收到&#34; 401未经授权的错误&#34; 。
我使用过这个cordova插件 - http://ngcordova.com/docs/plugins/oauth/
我想为Android和ios生成APK。我正在使用cordova CLI生成apk。
这是我的代码 -
class TwitterLoginCtrl extends BaseCtrl
@register 'TwitterLoginCtrl'
@inject '$scope', '$ionicPopup', 'WtaLoading', '$ionicLoading','$cordovaOauth','$http','$cordovaOauthUtility'
initialize: ->
@$scope.twitterSignIn = @twitterSignIn
twitterSignIn: =>
alert 'Twitter Nisarg'
@$cordovaOauth.twitter('[consumer key]','consumer secret').then ((result) =>
console.log JSON.stringify(result)
oauthObject =
oauth_consumer_key: '[consumer key]'
oauth_nonce: @$cordovaOauthUtility.createNonce(10)
oauth_signature_method: 'HMAC-SHA1'
oauth_timestamp: Math.round((new Date).getTime() / 1000.0)
oauth_version: '1.0'
oauth_token: result.oauth_token
signatureObj = @$cordovaOauthUtility.createSignature('GET', 'https://api.twitter.com/1.1/account/verify_credentials.json', oauthObject, oauthObject)
@$http(url: 'https://api.twitter.com/1.1/account/verify_credentials.json', method: 'GET' , params: angular.extend(oauthObject, oauth_signature: signatureObj.signature), format: "json"). then (data) => **// THIS CALL THROWS 401 UNAUTHORIZED ERROR**
console.log JSON.stringify(data)
), (error) ->
console.log error
修改
@$cordovaOauth.twitter('[consumer key]','consumer secret').then ((result) =>
以上电话给我这个结果=&gt;
{
"oauth_token":[access-token],
"oauth_token_secret":[access_token_secret],
"user_id":"4629415817",
"screen_name":"napster",
"x_auth_expires":"0"
}
每次我获得 x_auth_expires 。可以吗?
答案 0 :(得分:0)
根据 documentation ,
当我提到Twitter OAuth : Invalid or expired token [its NOT duplicate]时,一旦获得回调,请使用新的访问令牌再次初始化该类。