2012-03-01 69 views
0

我正在嘗試爲我們的網站創建一個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 

也許我失去了一些東西?

回答