facebook api メモ

基本的なことがワカラナイので覚え書き

Graph API

https://developers.facebook.com/docs/reference/api/

paging

https://developers.facebook.com/blog/post/478/

URIパラメータでsince と untilが使える。

値はUNIXタイム以外にもyesterdayとかが使えるようだが、不明。

offsetとlimitのうちoffsetの使い方は難しそう。というかこのoffsetというのはなんのoffsetなんだ?

自分の主要目的は、自分のpostしたものをデータベースに入れて後から検索できること。

そのためのメモを以下記述。

postを取得する

https://graph.facebook.com/me/posts?until=UNIX TIME STAMP&access_token=秘密

feedを取得する

https://graph.facebook.com/me/posts?until=UNIX TIME STAMP&access_token=秘密

自分がポストした最も旧いレコードをチェック

paging配列で帰ってくるnext(URL)の値を辿っていけば、いつか最初のレコードに行き着くとは思うが、それはやりたくない。

ポストしたレコード総数をチェックするにはどうしたらいいのかも不明。

untilキーにUNIX TIME STAMPに自分がポストした一番最初の日付を入れることで凌ぐことにしたい。

2011年6月28日なら

1309186800である。

データ全取得順を考える

でも、現時点から「遡る」というのがAPIの基本の考え方のようなので、とても扱いづらい。

一番古いものから順にとってくる、ということがなかなか出来ないことに気づいた。単純にsinceを指定しても、それはsinceのうちの最新データが取得されてしまう。

  1. sinceとuntilを両方指定してその間のデータをとる
  2. そのデータを逆順でソートしてDBに入れる

この1,2の繰り返しをすれば、時系列にあわせて単純なインクリメンタルなidがついたレコードがDBに入るとは思うが、sinceとuntilの指定の仕方が難しい(そもそも両方指定できるかどうか試してないが)。

普通に動かす場合、limitは20ぐらいが限界だと思うのでsince/untilが20レコード以内の日付指定をする必要があるからだ。

というわけでこれはあきらめる(過去データ順にDBでidを振ることを諦める)。

かくして自分がポストした最古データ取得などはしないことにした(上に書いた項目は意味がない)。

データ取得と未更新データの取得








this file --> last modified:2012-03-31 13:57:55