2013-05-26 5 views
1

Я установил обновление в реальном времени для 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); 


     } 
    } 
+0

Не могли бы вы показать код вы использовали получить POST обратные вызовы. – phwd

+0

Этот код обрабатывается в коде для обычной страницы asp.net wed wed. Я использую .NET 4.0. –

+0

Я теперь верю, что есть записи из Facebook, записанные в файлах журнала IIS. Запись в журнале имеет правдоподобный ip-адрес, правильный URL-адрес и правильный метод http (POST). Но может ли код работать? Я еще не смог правильно настроить NLog (http://nlog-project.org/), чтобы получить полезную отладочную информацию. –

ответ

0

Проблема не была проблемой. Я не получал никаких обновлений от Facebook, потому что у них было много часов, чтобы начать отправку обновлений, связанных с подпиской.

Теперь он работает отлично!

В любом случае, спасибо!

С уважением, Jonas

+0

Вы все еще можете обновлять в реальном времени API 2.2? Он работал хорошо для меня, но теперь он перестает работать, и в документации на Facebook не очень понятно, как настроить его с помощью API 2.2. Любая помощь приветствуется. – abhinav

Смежные вопросы