2014-12-03 4 views
0

У меня есть требование доступа к информации профиля пользователя XING со стороны сервера. У меня есть токен доступа пользователя и секрет. Попробуйте следующий код для получения информации о пользователе. Но я получаю сообщения об ошибкахXing access Профиль пользователя API

Пробовал

request.get( 
      { 
       url: "https://api.xing.com/v1/users/me", 
       qs: { 
        format: 'json', 
        access_token: "2f3306da6d7b8dc82a33", 
        access_token_secret: "0b3f2ab9fd8ee486b642" 
       } 
      }, 
      function(err, resp, body) { 
       if (err) { 
        return next(err); 
       } 
       try { 

        if (resp.statusCode === 200) { 
         console.log('inside status code 200'); 
         res.json({ 
          status: 200, 
          info: "OK", 
          uri: req.param('uri') 
         }); 
        } else { 
         console.log('xing response', resp.body); 
         res.json({status: resp.statusCode, info: resp.body}); 
        } 
       } catch(err){ 
        console.log('add connection catch'); 
        res.json({status: 500, info: err.message}); 
       } 

      } 
     ); 

сообщение об ошибке, информация: "{" сообщение ":" Invalid OAuth подпись " "ERROR_NAME": "INVALID_OAUTH_SIGNATURE"}" Пожалуйста, помогите мне решить эту проблему вопрос.

спасибо.

ответ

1
The code i used.... 

var oauthSignature=require('oauth-signature'); 

var httpMethod='GET'; 
var url='https://api.xing.com/v1/users/me'; 
var nonce=Math.random().toString(36).substring(5); 
var timestamp=Date.now(); 

var parameters = { 
'fields':'your fields here', 
'oauth_consumer_key':'xxxxxxxx', 
'oauth_token':'xxxxxxxx', 
'oauth_signature_method':'HMAC-SHA1', 
'oauth_timestamp':timestamp, 
'oauth_nonce':nonce, 
'oauth_version':'1.0', 
} 
consumerSecret='xxxxxxxxx'; 
tokenSecret='xxxxxxxxx'; 
signature = oauthSignature.generate(httpMethod, url, parameters, consumerSecret, tokenSecret, 
     { encodeSignature: false}); 
parameters['oauth_signature']=signature; 
request('https://api.xing.com') 
     .get('/v1/users/me') 
     .query(parameters) 
     .end(onResponse); 
function onResponse(err,res){ 
    if(err) { 
     throw err; 
    } 
    console.log('body contents', res.body); 

} 
1

вам придется пройти еще несколько параметров запроса, как

  1. oauth_signature_method
  2. oauth_timestamp
  3. oauth_nonce
  4. oauth_version
  5. oauth_signature

я не знаю, как получить эти значения ....

+0

Благодарим за отзыв. Я также ищу его. Их документация очень сложна. – Dibish

Смежные вопросы