FatSecret REST APIを使用しています
OAuthSimple JavaScript ライブラリを使用して、署名付き 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 を使用しており、それが機能しているように見えるからです。
どんな助けでも大歓迎です。前もって感謝します。