Facebook粉丝页面应用程序将字符串传递给app_data并检索

时间:2012-05-29 15:06:22

标签: facebook facebook-graph-api facebook-c#-sdk facebook-apps facebook-app-requests

嗨我在asp.net c#中有一个多页面的facebook粉丝页面应用程序。我如何设置和检索app_data查询字符串?是签名请求的这一部分还是粉丝页面的实际网址?在野生动物园中获得这个问题是否存在交叉的问题?是吗?

我可以使用以下内容获取signed_request:

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

所以基本上在第一页上我想使用上面的内容获取signed_reqeuest,然后将其附加到app_data查询字符串中的url。在所有其他请求,我可以得到这个,并使用这些值来检查用户状态,喜欢,登录等。这种方式,我认为它将停止safari中的跨域cookie问题。有人同意或不同意这个吗?

有人这样做过吗?

欢呼声

1 个答案:

答案 0 :(得分:4)

您可以将app_data设置为:

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

您可以将多个值传递到app_data,它将作为(POST数据)在signed_request中返回到您的实际页面。

您应该做的是从POST首页加载signed_request,并将其作为...?signed_request={signed_request_string}添加到您应用的网址中。然后,每个页面都应在URL中传递,以便您可以从任何子页面轻松检查likeadmin状态。您无需使用app_data。在任何情况下,在您的应用中的任何后续点击/重定向后,数据都将丢失。