0

サーバー側から XING ユーザー プロファイル情報にアクセスする必要があります。ユーザーアクセストークンとシークレットがあります。ユーザー情報を取得するために次のコードを試しています。しかし、いくつかのエラーメッセージが表示されます

試した

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}); 
                }

            }
        );

エラー メッセージ情報: "{"message":"Invalid OAuth signature","error_name":"INVALID_OAUTH_SIGNATURE"}" この問題の解決にご協力ください。

ありがとうございました。

4

2 に答える 2

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);

} 
于 2014-12-09T06:45:10.487 に答える