0

こんにちは私はasp.netc#に複数ページのFacebookファンページアプリを持っています。そのapp_dataクエリ文字列を設定および取得するにはどうすればよいですか?これはsignedrequestの一部ですか、それともファンページの実際のURLですか?サファリでこれを取得する際にクロスドミアンの問題がありますか?

次を使用してsigned_requestを取得できます。

 if (!string.IsNullOrEmpty(signedRequest))
{
    dynamic SignedRequestData;
    var DecodedSignedRequest = FacebookWebContext.Current.SignedRequest.Data;
    SignedRequestData = DecodedSignedRequest

したがって、基本的に最初のページで、上記を使用してsigned_reqeuestを取得し、これをapp_dataクエリ文字列のURLに追加します。他のすべてのリクエストでは、これを取得し、それらの値を使用して、ユーザーステータス、いいね、ログインなどを確認できます。このようにして、サファリでのクロスドメインCookieの問題を防ぐことができると思います。誰かがこれに賛成ですか、反対ですか?

誰かがこれをしましたか?

乾杯

4

1 に答える 1

4

次のように設定できますapp_data

https://www.facebook.com/{page_id}?sk=app_{app_id}&app_data={"key1":"value1","key2":"value2"}

複数の値を渡すことができ、実際のページに (POST データ) としてapp_data返されます。signed_request

実際にすべきことはsigned_request、POST から最初のページ読み込みを取得し、それをアプリの URL に として追加することです...?signed_request={signed_request_string}。次に、すべてのページでこれを URL に渡す必要があるため、サブページからlikeとのステータスを簡単に確認できます。adminこれを使用する必要はありませんapp_data。いずれにせよ、その後のアプリでのクリック/リダイレクトの後、データは失われます。

于 2012-05-29T15:32:01.887 に答える