Я установил обновление в реальном времени для Facebook (пользователя и страницы) с помощью панели инструментов приложения и получил сообщение об успешном завершении от Facebook. Но после этого я не получаю никаких сообщений от Facebook. Если пользователь делает комментарий к сообщению на странице, использующей приложение, уведомление отправляется из Facebook, хотя Facebook должен.Обновление в реальном времени Facebook не работает
Я прочитал все на страницах разработчиков на Facebook, посвященных обновлению в реальном времени, и обыскал в Интернете с помощью Google, но я не могу понять, почему он не работает.
Кто-нибудь знает, что может быть неправильным? Кто-нибудь знает, почему я не получаю никаких обновлений?
С уважением, Jonas
Вот код, я использую, чтобы обрабатывать почту от Facebook. Тем не менее, есть no POST из Facebook зарегистрирован в IIS, за исключением тех, которые были использованы для настройки и запуска подписки.
protected void Page_Load(object sender, EventArgs e)
{
String verify_token_created_in_app = "1234";
logger.Error("Nu borde det synas");
String hub_mode = Request.QueryString["hub.mode"];
String hub_challenge = Request.QueryString["hub.challenge"];
String hub_verify_token = Request.QueryString["hub.verify_token"];
int customerId = Convert.ToInt32(Request.QueryString["c"]);
if (hub_mode == null)
{
hub_mode = "";
}
if (hub_challenge == null)
{
hub_challenge = "";
}
if (hub_verify_token == null)
{
hub_verify_token = "";
}
if (hub_verify_token.Equals(verify_token_created_in_app))
{
Response.Write(hub_challenge);
}
if (hub_mode == "" || hub_challenge == "" || hub_verify_token == "")
{
HttpCookie sessionCookie = new HttpCookie("facilSession");
HttpContext.Current.Response.Cookies.Add(sessionCookie);
Utilities.customerId = customerId;
spreadClass spread = new spreadClass();
var client = new FacebookClient(spread.mfbAccessToken);
string jsonString = "";
realTimeUpdateParser = new RealTimeUpdateParser();
List<RealTimeUpdateParser> realTimeUpdateParserList = new List<RealTimeUpdateParser>();
try
{
logger.Error("Inne i metoden som ska läsa JSON från Facebook");
// VerifyPostSubscription will throw exception if verification fails.
dynamic result = client.VerifyPostSubscription(
Request.Headers["X-Hub-Signature"],
new StreamReader(Request.InputStream).ReadToEnd());
// result is a json object that was sent by Facebook
// for now just call ToString() so it returns the json string
jsonString = result.ToString();
logger.Error("jsonString: " + jsonString);
// Process the result
// for this demo we will just add it to the list
}
catch (Exception ex)
{
logger.Error("Error: " + ex.Message);
}
realTimeUpdateParserList = JsonConvert.DeserializeObject<List<RealTimeUpdateParser>>(jsonString);
ConnectToFacebookAPI connectToFacebookAPI = new ConnectToFacebookAPI(client, spread);
connectToFacebookAPI.HandleRealTimeUpdateFromFacebook(realTimeUpdateParserList, customerId);
}
}
Не могли бы вы показать код вы использовали получить POST обратные вызовы. – phwd
Этот код обрабатывается в коде для обычной страницы asp.net wed wed. Я использую .NET 4.0. –
Я теперь верю, что есть записи из Facebook, записанные в файлах журнала IIS. Запись в журнале имеет правдоподобный ip-адрес, правильный URL-адрес и правильный метод http (POST). Но может ли код работать? Я еще не смог правильно настроить NLog (http://nlog-project.org/), чтобы получить полезную отладочную информацию. –