2012-02-24 4 views
-2

サードパーティのAPI(REST JSONベース)を使用しています。その中にコールバックURLが必要なので、返されたトークンを取得できます。HttpResponseのコールバックを設定する

これはどのように機能しますか?私は彼らにURLを与えれば、私はどのように私のコールバックメソッドに戻ってフックしていますか?どのようにしてメソッドを指定するのか、それとも応答がすぐに返ってくるのか...これをどのように配線しますか?

私のHttpRequestのヘッダーには、APIの必要に応じて "callbackUrl"、 "ourCallbackUrlHere"というカスタム値を追加します。

+0

一部のデータを確認するためにサーバーに返されるURLを指定する必要がありますか?それほどあなたはそれをつかんではありませんが、彼らはそれを押していますか? –

+0

いくつかのデータを送り返してはい...私たちにトークン文字列を送るために。私たちはコールバックURLを使ってトークンを送り返すと思います。http:// callbackurl/someToken = 234 @ @ Gas643gコールバックURLに送り返されたときに、どういうわけかその値を取得する必要があります。うまく動かない...私はそれをつかむか?応答が返ってきたら、このコールバックURLはどのように使用されていますか? – PositiveGuy

+0

http://tools.ietf.org/html/rfc5849をチェックして、前のリクエストでクライアント によって提供されたコールバックURIを検索してください。したがって、ホストは私にhttp:// ourcallbackUrl?oauth_token = hh5s93j4hdidpola&oauth_verifier = hfdp7dh39dks9884を例として返信します。 – PositiveGuy

答えて

1

「コールバック」という用語は、ここで混乱を招く可能性があると思います。彼らは、あなたのサーバー上のURLにコールバックしているという意味で、「コールバックURL」と呼んでいます。ただし、サーバーの最初のリクエストコードには、それを処理するために実装された「コールバック」が必要であるとは限りません。

ハンドブック(具体的にはASHXジェネリックハンドラ)を実装して、サーバが送信した値QueryStringをプルし、データベースにある値と照合して適切な処置を取ることができます。

は、REST経由の初期API要求であると、サードパーティが発行した 'コールバック'を受け取るページ/ハンドラの2つのページ/ハンドラがあります。しかし、は、ではなく、最初のハンドラでコールバックを実装しています(.NET delegate)。

+0

これで、最初のハンドラを2番目のハンドラと同期させると、トークンを取り戻すことができますか? – PositiveGuy

+0

私は2が必要だとは思わない。このサードパーティ製のAPIをラップするラッパープロジェクトの私のサーバー側のコードは、私が構築しているものを使用できるように、最初のリクエストを送信しています。コールバックを受け取るハンドラが必要になると思います(私たちが指定したURL経由のトークン)。 – PositiveGuy

+0

あなたはそれらを同期しません。あなたが最初のハンドラで取ることのできる行動は何を避けてください。第三者からトークンを取り戻すまでは、「公式」の行動を取らないでください。これはユーザーが直面しているウェブサイトで行われていますか?したがって、ユーザーはAPI呼び出しをトリガーする何かをしますか?そうであれば、「処理中です...」というページを実装し、トークンが戻ってきているかどうかを確認するステータスURLを自動更新します。つまり、あなたはどこかに状態を格納する必要があります(*コールバックは別のセッションにあるためセッション中ではありません) –

関連する問題