我已经建立了使用C#SDK几Facebook应用程序。 并使用以下代码来检查用户是否已经喜欢的风扇页面并显示内容,以反映这一点。
protected void Page_Load(object sender, EventArgs e)
{
if (Session["SignedRequest"] != null)
{
signedRequest = Session["SignedRequest"].ToString();
}
else
{
signedRequest = Request.Form["signed_request"];
}
if (!string.IsNullOrEmpty(signedRequest))
{
dynamic SignedRequestData;
var DecodedSignedRequest = FacebookWebContext.Current.SignedRequest.Data;
SignedRequestData = DecodedSignedRequest
var RawRequestData = (IDictionary<string, object>)SignedRequestData;
foreach (KeyValuePair<string, object> paird in RawRequestData)
{
Response.Write("key =" + paird.Key.ToString() + " value =" + paird.Value.ToString() + "<br/>");
}
if (RawRequestData.ContainsKey("page"))
{
Facebook.JsonObject RawPageData = (Facebook.JsonObject)RawRequestData["page"];
if (RawPageData.ContainsKey("liked"))
{
if (bool.Parse(RawPageData["liked"].ToString()))
{
LikedContent.Visible = true;
if (!IsPostBack)
{
PageSetup();
}
}
else
{
UnlikedContent.Visible = true;
}
}
else
{
UnlikedContent.Visible = true;
}
}
else
{
DefaultContent.Visible = true;
}
}
else
{
DefaultContent.Visible = true;
}
}
这里的问题是,如果我对应用程序的多个页面,我得到跨域的问题。 可以使用在gloabl.asac.cs文件中的P3P头的即很容易地解决这个问题。 这一问题却仍然在Safari。
现在,C#SDK的当前版本6建议使用Facebook的JavaScript SDK调用的Open Graph并检查用户喜欢的网页,然后把它传递给后面的代码我是想知道究竟是建筑的最佳实践Facebook粉丝页面标签的应用程序?
当曾经使用JavaScript SDK我访问用户的信息,我收到一个弹出框授权的应用程序。 我不希望这样。 有没有办法解决这?
干杯