2012-09-10 32 views
1

現在我有一個應用程序,允許用戶安排/發佈Facebook信息,然後監控喜歡/評論。我預見到的其中一個問題是,目前我正在拉動每一個評論/比如它是否被處理。我想要做的是能夠說'自XYZdate/XYZcomment以來給我所有的新評論。'目前這可能嗎?自上次我檢查而不是所有評論以來,我只能獲得新的Facebook評論嗎?

  var accessToken = existingUserNode.Attributes["accessToken"].Value; 
      var facebookAPIMgr = new FacebookWrapper.FacebookAPIManager(); 
      var msg = new FacebookWrapper.FacebookMessage() 
      { 
       AccessToken = accessToken, 
       FacebookMessageId = facebookPost.FacebookMessageId 
      }; 

      //Get Facebook Message Comments 
      // Need to find a way to limit this to only new comments/likes 
      var comments = facebookAPIMgr.RetrieveComments(msg); 

回答

1

您可以使用time-based pagination作爲圖API查詢的一部分。如果您保留最後一次輪詢事件的unix時間戳,則可以簡單地執行https://graph.facebook.com/{whatever}?since={last run}

今年早些時候我大量使用Graph API工作時仍然有效,並且仍然在文檔中,但考慮到Facebook有多少人喜歡在沒有告訴任何人的情況下更改內容,但是您仍然可能會遇到問題。所以只是一個警告,YMMV。

+0

我試着用FQL查詢並收到:{Facebook.FacebookApiException:(NoIndexFunctionException - #604)您的語句不可索引。 WHERE子句必須包含一個可索引列。這些列在http://developers.facebook.com/docs/reference/fql鏈接的表格中標記爲* 這是否會避免時間索引問題? –

+0

@Justinwilliams無法確定,但是可轉位列標記在開發網站上無論如何都是不準確的,當我與他們合作時,他們往往是錯誤的,而不是正確的。在這種情況下,我可能會從'/ search?開始= {timestamp}'開始,然後從那裏開始構建一個更復雜的查詢來縮小你想要的範圍。在您瞭解本週的工作原理之後,您可以再細化一下。我很抱歉,我無法提供更多的幫助,通常當你的知識6個月大時,這是相當新的,但用圖表來說,這是永恆的。 – tmesser

+0

使用你的評論作爲出發地,我能夠想出我的解決方案,它是使用分頁中的'偏移'。我們已經記下了我們已同步的評論。如果自上一個查詢以來我同步了5次,那麼我會跳過前5個,然後再詢問任何內容。 –

相關問題