Я вижу, что это старый, я хотел бы внести свой вклад, только что сражался в этой битве и прибегнул к использованию сетевого монитора для захвата необработанного TCP-трафика, чтобы выяснить, что происходит.
Facebook НЕ отправляет тип контента json, его "ContentType: application / x-www-form-urlencoded"
Они не отправляют JSON!!они отправляют форму сообщения
Это не принесло мне конца печали.Я включаю фактическую сетку их данных.Я понятия не имею, что они делают, и это прямо противоречит их документации.https://developers.facebook.com/docs/credits/callback/
"signature_request = [подписанный запрос] & покупатель = [мой идентификатор] & получатель = [мой идентификатор] & order_id = 247146405372045 & order_info =% 22100credits% 22 & test_mode = 1 & method = payment_get_items"
для связиэто более прямо к вопросу, если вы используете asp.net, вы можете просто принять форму сообщения.Если вы используете WCF, это просто
- Принять Stream в качестве входных данных для вашего метода WCF
разобрать его,
//Get the Stream
var postStream = new StreamReader(input).ReadToEnd();
//parse the string
var vals = HttpUtility.ParseQueryString(postStream);