Facebook注册|自定义字段不返回

时间:2012-03-01 23:34:13

标签: facebook facebook-graph-api

我正在尝试为我们的网站创建一个Facebook注册流程,该流程将在我们的CRM中为用户创建一个帐户 - 为此,我需要在注册表单中使用一些自定义字段。

我在网站上正确显示了注册表单,但是,当我处理signed_request时,JSON只返回已解码的标准项而不是我的自定义字段:

{ 
 "algorithm": "HMAC-SHA256", 
 "code": "2.AQDp0sgWRw3TWrII.3600.1330650000.1100001862544007|LwjvMjADtPxaIzxizYuIivNdi7w",
 "issued_at": 1330644064, 
 "user_id": "<my user id>" 
}

这是一个.NET实现,但我没有使用Facebook C#SDK,因为他们的网站上似乎没有任何文档可用,我只是不够聪明才能搞清楚。我尝试使用Facebook C#SDK和Facebook.Client()解析方法的新6.x测试版,但是一旦解析了东西,就没有任何运气确定如何处理它。

所以 - 这个被盗的代码就是我以前发布的结果:

        //client_payload = the signed_request from Facebook
        string[] sB64String = client_payload.Split('.');
        string payload = client_payload.Replace((sB64String[0] + "."), string.Empty);

        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 jObject = JObject.Parse(json);

        response.write(Convert.ToString(jObject)); // rw for debugging

也许我错过了什么?

1 个答案:

答案 0 :(得分:0)

我已经通过修改我的方式自行解决了这个问题。

我最终使用了标签和客户端cookie,如下所示:

https://developers.facebook.com/docs/plugins/registration/advanced/

我的所有自定义字段最终都在cookie中,然后我可以解析并发送到我的.NET Web服务。这是一种圆满的方式,但现在已经完成了工作。