pagetaka

写真、PC、ネット、岡山、旅の話題をお届けします

facebook:graphAPIの検索結果、複数回実行で差分があるときはほかにもデータがあるのかも…

PHPfacebook(fb)内を検索しています。graphAPIを使い、「うどん」をキーワードにし「ページ」を検索したら、478件ありました。この外側にループを作り、同じqueryを複数回実行しました。すると、わずかに結果内容が異なるのです。3回実行した結果いずれとも重複してない「うどん」のidは、1件、7件、11件…。

それで、「since」を使い24時間以内、12時間以内などと短くしていったら、データが全て重複するという結果に…439件のときでした。「since」を使った結果、「page」内でN時間以内に更新されたidは439件だった、ということになりそうです。

  • 検索結果が400件を超えたら、データ溢れを疑う
  • 同一検索をループで複数回実行し、齟齬があれば、データ溢れを疑う
  • データ溢れが疑われる場合、絞り込みのため、適当なパラメータを追加する
    • since:時間区切りによる制約
    • location:場所による制約
    • place:場所による制約

あれ?場所による制約が二通りになるのか…。

ということで、locationを調べてみました。

Graph API Location

こちらはplace↓
Graph API Reference: Place

全体はこちら↓
Graph API Reference

よくわからんのは、placeが「id、location、name、overall_rating」を含んでいる、つまりplaceの方が上位に分類される、ということみたいであります。

すると、「札幌」で検索結果が揺れた「place」は、location部分から情報を得ていた…の・か・な?それで結果に揺れが出ていたということは、信頼性が…などと、本文記載部分と基本データ部分のことがゴチャゴチャになって爺も整理がつかない…。

条件を適当に絞り込んでそれがfb全体から得た検索結果、と思えるようにするには…はて…くるしむ(ふりをする)爺でありました…。混乱中の爺であります…バタッ。