Facebook Web フォーム アプリから app_data クエリ文字列を取得するにはどうすればよいですか? アプリに別のホーム画面を表示できるように、クエリ文字列で情報を送信できるようにしたいと考えています。アプリはページタブに座っています。
例: http://www.facebook.com/pages/APPNAME/157772164271503?sk=app_230501256972470&app_data=Page.aspx
app_data から "Page.aspx" を取得するにはどうすればよいですか? ユーザーを Default.aspx とは別のページにリダイレクトする必要があります
解決策を見つけました。 asp.netを使用してFacebookタブアプリからクエリ文字列を取得します
using Newtonsoft.Json.Linq;
using System.Text;
public partial class Page_Default : System.Web.UI.Page
{
protected string output = "";
protected void Page_Load(object sender, EventArgs e)
{
output = "Whole thing:" +Request.Form["signed_request"];
output += "Second part:" + Request.Form["signed_request"].Split('.')[1];
try
{
string payload = Request.Form["signed_request"].Split('.')[1];
var encoding = new UTF8Encoding();
var decodedJson = payload.Replace("=", string.Empty).Replace('-', '+').Replace('_', '/');
var base64JsonArray = Convert.FromBase64String(decodedJson.PadRight(decodedJson.Length + (4 - decodedJson.Length % 4) % 4, '='));
var json = encoding.GetString(base64JsonArray);
var o = JObject.Parse(json);
output += "Decoded:" + json;
bool liked = (bool)o.SelectToken("page.liked");
output += "Liked:" + liked.ToString();
}
catch (Exception ex)
{
output += "Extract failed: " + ex.Message;
}
}
}
また、この投稿は役に立ちました
Facebookアプリの設定例でダイレクトページを追加してください。www.site.com/deafult.aspx www.site.com ではない