我正在嘗試爲我們的網站創建一個Facebook註冊流程,該流程將爲我們的CRM中的用戶創建一個帳戶 - 爲此,我需要在註冊表單中使用一些自定義字段。Facebook註冊|不返回自定義字段
我在網站上正確顯示的登記表,但是,當我處理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
也許我失去了一些東西?