我正在使用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 相关参数。当我使用这个签名的网址时,我得到一个“无效/使用的随机数”
OAuth 测试工具使用相同的OAuthSimple 库,如果我输入所有相同的参数(包括时间戳),它会生成完全相同的 url。
唯一的区别是测试工具生成的 url 有效,并给了我来自服务器的完整响应。我的代码生成的网址没有。
我尝试了各种 nonce 值,包括发送时间戳的 MD5,但我得到了同样的错误。我现在使用 1234 的原因是测试工具默认使用 1234,这似乎有效。
任何帮助表示赞赏。提前致谢。