FatSecret提供了两个API,一个是javascript,另一个是REST。由于javascript API有限,我不得不从REST API开始。他们有一个Oauth计划。所以,我拿了我的参数并创建了一个签名,将它附加到url,发出了ajax请求和Voila!它不起作用。我一直收到无效的签名错误响应。我正在使用以下参数(以及要调用的方法和响应格式)来创建用于签名生成和命中实际API的基本字符串。
oauth_consumer_key: "MY_KEY"
oauth_nonce: "ABC"
oauth_signature_method: "HMAC-SHA1",
oauth_timestamp: "TIME",
oauth_version: "1.0",
oauth_signature: "WXYZ"
我正在使用jquery UUID插件来生成auth_nonce。我不知道我做错了什么,但我完全确定我生成的签名是正确的。
有一个使用Net :: HTTP请求的rubygem完全正常。即使我使用gem生成的URL,我也无法获得jsonp请求。但是,如果我在浏览器上使用该URL(在oauth_timestamp到期之前),它就可以正常工作。
如果有人对此感兴趣,我会发布更多细节。
身份验证文档可用here。
答案 0 :(得分:1)
我一直很难让这个API为我工作。
此test OAuth test client帮助我解决了OAuth错误。
请记住,参数是使用词典字节值排序排序的,首先是名称,然后是值。
在这种情况下适用的词典编纂示例: