数日間もがいておりました…。わかったら簡単でした。facebook「ページ」にはいろんな情報があります。公開「ページ」の情報を検索し「JSON」形式で取得・表示するPHPの簡単例をつくり、爺の備忘録にしたです。
準備(目論見:温泉+長野で検索しfacebookページをWEBブラウザ表示)
- facebook自分のアカウント作る
- 同開発者登録する
- https://developers.facebook.com/で新しいAPPを登録しtokenを得る。APP実体よりtokenを得ることがポイント。
- 下のソース最初のあたりにある「XXXXXXXXXX」にtokenを貼り付ける。
<?php $accessToken = 'XXXXXXXXXX'; $searchNaganoSpa = 'https://graph.facebook.com/search?q=温泉+長野&type=page&access_token=' . $accessToken; $resultSpas = json_decode(file_get_contents($searchNaganoSpa)); //var_dump($resultSpas); foreach($resultSpas->data as $spa){ //$resultSpasから、dataを1件ごと$spaへ押し込んで循環 $nameSpa = $spa->name; //fbページ名 $idSpa = $spa->id; //fbページid echo '<br />' . $idSpa . ' : ' . $nameSpa; } //foreach($resultSpas->data as $spa) 折り返し ?>
- 上のソースをPHPファイルとしてデスクトップなどに保存
- 保存したPHPファイルを、PHPが稼働するWEBサーバに転送
- 例えば http://ドメイン/PHPファイル名.php などとwebブラウザで呼び出す
- 温泉と長野両方が含まれるJSONデータのうちIDとページ名がブラウザ画面に表示される
以上であります。
SDK不要みたい
SDK配置してあるフォルダの外でやってみたら動きました。SDKは不要みたいです…ショボン。何日も変な検索をやってたことになる…グスン。知らないということは、こういうことですね…ションボリ。したがって「require アレコレ」などとPHPで叫ぶのも不要…という結果に…。
GraphAPIのツールといえばよいのか、開発ツールのひとつ「Graph API Explorer」でできるのだから何とかなるのだろうと思い、行ったり来たりしたです。何も考える必要なかったです…。
とりあえずは、どちらのtokenでも動く。ただし…。
token取得には、APPを置くURLも登録するんですけど、試した限りでは別の所でもOKでした。また、2種類のtokenどちらでもとりあえず使えました。「有効期限」とかに違いがあるのかと…。
あとがき
ちゃんとわかっている人にとっては、なんでこれが記事になるのか不思議でしょうね。でも、還暦も過ぎた爺にはコレがとりあえずわからなかったコトなのです。何日もネット徘徊老人でありました。結局、twitterの同様例での徘徊履歴と、少し違う内容の成功例を見比べたりして、なんとか検索・表示に至ることができました。
上のソース、var_dumpのところを実行すると、ブラウザにtokenが表示されるです…ええ。とりあえず望む結果になったということと、安全にコントロールし稼働している、というのには大きな開きがあるのだろうと想像するしかない爺です。
どこか、ヘンなとこあったらコメントでも入れてください。ヨロシクおねがいします。また、「ページ」からどれだけの項目や情報が取得できるか、検索件数設定、検索日付期間設定など実用上の必要事項まではこの記事で書いてないです…すみませぬ…なにせ「超簡単例」ですので…。