OAuth nonce value

Я работаю с FatSecret REST API

Я использую OAuthSimplejavascript-библиотека для создания подписанного URL-адреса. Вот код, который у меня есть:

    params['oauth_timestamp'] = Math.floor(new Date().getTime()/1000);
    params['oauth_nonce'] = '1234';
    params['oauth_version'] = '1.0';

    var paramStr = '';
    for(var key in params){
        paramStr += key+"="+params[key]+"&";
    }    
    paramStr = paramStr.substring(0,paramStr.length-1);

    var oauth = OAuthSimple();
    oauth.setAction('GET');
    var o = oauth.sign(
            {
             path:this.requestURL,
             parameters: paramStr,
             signatures:{
                api_key:this.apiKey,
                shared_secret:this.sharedSecret,
                access_token: this.accessToken,
                access_secret: this.accessSecret
             }
            });
    console.log(o.signed_url);
    return o.signed_url;

params — это ассоциативный массив, содержащий все параметры, не связанные с oauth, для этого вызова. Когда я использую этот подписанный URL-адрес, я получаю «недопустимый/использованный одноразовый номер»

Инструмент тестирования OAuthиспользует ту же библиотеку OAuthSimple, и если я ввожу все те же параметры (включая метку времени), он генерирует точно тот же URL.

Единственное отличие состоит в том, что URL-адрес, сгенерированный инструментом тестирования, работает и дает мне полный ответ от сервера. URL-адрес, сгенерированный моим кодом, не работает.

Я пробовал различные значения одноразового номера, включая отправку метки времени MD5, но получаю ту же ошибку. Причина, по которой я сейчас использую 1234, заключается в том, что инструмент тестирования использует 1234 по умолчанию, и это, кажется, работает.

Любая помощь приветствуется. Заранее спасибо.

7
задан Niraj 7 April 2012 в 03:29
поделиться