4

Facebook Notification API をセットアップしようとしています。RealtimeUpdate() - Get を備えた API コントローラーがあり、エンドポイントの検証にのみ使用されます。

Fb Docsに書かれているように:

まず、サブスクリプションを追加または変更しようとすると、Facebook サーバーはコールバック URL に対して単一の HTTP GET を作成します。次のパラメーターを使用して、クエリ文字列がコールバック URL に追加されます。

  • hub.mode - 文字列「subscribe」がこのパラメーターで渡されます
  • hub.challenge - ランダムな文字列
  • hub.verify_token - サブスクリプションを作成したときに指定した verify_token の値

ここから問題が発生します。クエリ パラメータ名でこのドットを処理する方法がわかりません。私はよくグーグルで検索しましたが、解決策が見つかりませんでした。

このハブからデータを取得する方法を教えてください。* 値?

ありがとうございました!

4

3 に答える 3

15

次のように、FromUri 属性を使用してメソッド シグネチャを更新します。

public string Get(
    [FromUri(Name="hub.mode")]string mode,
    [FromUri(Name="hub.challenge")]string challenge,
    [FromUri(Name="hub.verify_token")]string verifyToken
    )
{
    /* method body */
}

パラメータは、指定された名前を使用してクエリ文字列からバインドされます。

于 2013-07-24T21:38:33.523 に答える
0

Model Binder には不正な文字がいくつか含まれていますが、そのうちの '.' と思われます。主に複雑なオブジェクトをバインドするために使用される特殊文字です。他のすべてが失敗した場合は、ASP.NET WebForms の場合と同様に、Request.QueryString と Request.Form を直接見ることができます。

サブプロパティ mode、challenge、および verify_token を持つハブという名前のプロパティを持つ複合オブジェクトを使用することもできます。これでうまくいくかもしれません。

于 2013-07-24T20:47:47.147 に答える