アプリのダッシュボードから Facebook (ユーザーとページ) のリアルタイム更新を設定しましたが、Facebook から成功メッセージを受け取りました。しかし、その後Facebookからメッセージが届きません。ユーザーがアプリを使用しているページの投稿にコメントすると、Facebook から通知が送信されますが、Facebook から通知が送信されます。
リアルタイム更新に関する Facebook 開発者ページのすべてを読み、Google を使用してインターネットを検索しましたが、なぜ機能しないのか理解できないようです。
誰かが何が間違っているのか知っていますか? 誰かが更新を受信しない理由を知っていますか?
よろしく、ジョナス
Facebook からの投稿を処理するために使用するコードを次に示します。ただし、サブスクリプションのセットアップと開始に使用されるものを除いて、IIS にログインされた Facebook からの POSTはありません。
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);
}
}