2011-08-04 8 views
0

FatSecretには、2つのAPI、1つのjavascriptともう1つのREST APIがあります。 JavaScript APIは限られているため、REST APIを使い始める必要がありました。彼らにはOauth Schemeがあります。だから、私は自分のパラメータをとり、署名を作成し、URLに添付して、AjaxリクエストとVoilaを作った!それは動作しません。私は無効な署名エラー応答を取得し続けます。私は、シグネチャの生成に使用される基本文字列を作成し、実際のAPIにヒットするために、次のパラメータ(呼び出すメソッドと応答フォーマットの両方)を使用しています。FatSecretのREST APIに関する問題

oauth_consumer_key: "MY_KEY" 
oauth_nonce: "ABC" 
oauth_signature_method: "HMAC-SHA1", 
oauth_timestamp: "TIME", 
oauth_version: "1.0", 
oauth_signature: "WXYZ" 

私はauth_nonceを生成するためにjquery UUIDプラグインを使用しています。私は何が間違っているのか分かりませんが、私が生成している署名は正しいと確信しています。

Net :: HTTPリクエストを使用するRubygemがありますが、これはまったく問題ありません。宝石が生成するURLを使用しても、jsonpリクエストで成功することはできません。しかし、ブラウザでそのURLを使用すると(oauth_timestampの有効期限が切れる前に)、完全に正常に動作します。

誰かが興味を持っているとすれば、さらに詳しい情報を投稿します。

認証ドキュメントはhereです。

+0

私はあなたがこの問題を解決するために管理しているかどうかを知ることに興味があると思い - での統合に取り組んでObjCと同様の問題があります。 – lxt

+0

私はすぐに魔法を使って認証を受けました。しかし、私はクロスドメイン要求をすることができませんでした。 – user864652

+0

私は正しいことをしていることを知りました。しかし、私はクロスドメイン要求をすることができませんでした、fatsecretにはjsonpサポートがなく、javascriptは私の唯一のプログラミングオプションでしたので、方法がありませんでした。私は、すでにJavascript APIが利用できる間に、私はREST APIを使ってajaxを使って作業しようとしていたことに気付きました。あなたの問題は何ですか? – user864652

答えて

1

私はこのAPIを私のために働かせるのに苦労しています。

このtest OAuth test clientは、私のOAuthエラーを整理するのに役立ちました。

パラメータは、辞書順のバイト値の順序付けを使用してソートされます。名前順、値順にソートされます。

この場合、動作

辞書式例:最初

  1. oauth_alpha =
  2. oauth_batman =秒(#2ためバットマンの "B" の)ための
  3. oauth_beta =第三の(#3」 e」のベータ版)
  4. oauth_beta =シマウマ(ための#4 『シマウマ中でZ』)
+1

'辞書順バイト値の順番付け、名前順、値順。 - WTFはそれを意味すると思います:/ /申し訳ありませんが、私の欲求不満を解消しました.2時間後にはまだ動作しません。 –

+1

このケースで動作する注文の例を与えるために回答を編集しました。 – digitalfitness

関連する問題