2016-03-31 7 views
0

投稿IDを与えるgraphApiを使用して、この投稿に添付されているすべてのコメントを取得しようとしています。初めてのコメントを取得するために、その簡単な、私はちょうどAPIレスポンスのページング propertieにのリンクを以下に保ちます。Facebookから新しく追加されたコメントを取得する

しかし、このコメントのリストを最新の状態に保つには、新しく追加されたコメントを取得する必要があります。私は(最後、検索ページから保存された)後カーソルを使用してみましたが、予想通り、それは働いていない、クエリでので、パラメータを使用すると、動作しないか(それはでサポートされていないようですエンドポイント/コメント)。

誰かが私に代替ソリューションを提供できますか?

+0

'since'の使用はどうですか? Webhooksを使用して、新しいコメントが返されたとき、またはポーリングしたときに通知を受けていますか? – Igy

+0

"since"は、UNIXのタイムスタンプとフォーマットされた日付の両方を使って試したコメントエンドポイントでは動作しませんが、Postsの取得でうまくいきます。 Webhooksの場合、残念ながら私はページトークンを持っていないので使用できません – RedUno

答えて

0

apiがページネーション(next、beforフィールド)のカーソルを使用するため、 'since'はエンドポイント '/ comments'でサポートされていません。

その値は時間(docs link)の短期間ヴァリデあるので、どちらも動作しませんしません「の後に」カーソルの使用

graph api docs

だから私のソリューションは、ordredクエリを使用していましたコメント

https://graph.facebook.com/v2.6/[post-id]/comments/&filter=stream&order=reverse_chronological 

を得るために、私はlast_update_timeとして最初のコメントのcreated_timeを保存します。その後、私は自分のコードを実行する次回私は各コメントをチェックします。最後の更新時刻よりも重い場合は作成した時刻を確認します。

while (comment.created_time > last_update_time): 
    comments_list.add(comment) 
    comment = comments.next() 
if (len(comments_list)>0): 
    last_update_time = comments_list[0].created_time 
関連する問題