0

たとえば、2011年など、Facebookの公開ページに投稿されたリンクを取得しようとしています。具体的には、facebook のアラビア語 CNN ページ: http://www.facebook.com/CNNArabic

私が試したこと:
1- グラフ API、次のようなクエリ:
CNNArabic/links?fields=id,name,link,created_time&limit=25&until=2012-05-15

2-
FQL SELECT link_id, url, created_time FROM link WHERE owner = 102581028206 and created_time < 1337085958 LIMIT 100

この日付以前のデータがページにある場合は、どちらも空のデータ セットを返します。

私が気付いたその他のこと:
1-日付を 2013-01-17 (昨日) のように変更すると、正常に動作します。
2-日付を 2012-12-17 (約 1 か月前) などに変更すると、空のデータ セットが返されますが、上記の 1 のクエリから返されたデータ セットの次のページ リンクをたどると、私は実際にデータを取得するこの日付を渡します。

希望する日付のリンクに到達するまで、次のページ ポインターをたどり続けるコードを書いてみました。ただし、はるかに古いデータ (2011 年など) が必要であり、結果セットは現在よりも 2 か月または 3 か月早く使い果たされます。つまり、次のリンクが返されないため、実際にはその古いデータに到達することはできません。

簡単に言えば、特定の日付より前に公開ページに投稿されたリンクを照会する方法はありますか?

4

1 に答える 1

1

feedGraph API でページの作業をクエリする:

/102581028206/feed?fields=id,link,name,created_time&limit=25&until=2012-05-15

これにより、すべての投稿が返されます。フィールド展開を使用してこれをフィルタリングする方法があるはずですが、私が試したいくつかのことを取得できませんでした。

streamテーブルで FQL を使用したリンクのみをフィルタリングして取得できます。

SELECT message, attachment, created_time FROM stream WHERE source_id = 102581028206 
    AND created_time < strtotime('2012-05-15') AND type=80 LIMIT 10

リンクはtype=80.

于 2013-01-18T14:28:43.933 に答える