練習も兼ねて、「おみくじ」アプリ(試作)を作ってみました。
作る前にいろいろと準備が必要です。
一番最初に、参考にしたサイトは
す。
そのサイトで紹介してあるソースをそのまま使って、動作確認。動くのは当たり前でも、他人のソースをそのままコピーしても、やはり動くとうれしい。
次にそのソースを研究。
$me = $facebook->api('/me'); // 自分の情報を取得
$uid = $facebook->getUser(); // 自分のユーザー ID を取得
<img src="https://graph.facebook.com/<?php echo $uid; ?>/picture">
<?php echo $me['name']; ?>
つまり、写真を表示させたいのであれば、
<img src="https://graph.facebook.com/ユーザーID番号/picture">
(ちなみに、私のユーザーIDは15ケタ)
自分の情報を取得するときのおまじないは
$me = $facebook->api('/me');
そして <?php echo $me['name']; ?> という記述から、 $me は連想配列である。
その連想配列の「キー」として name があり、その中に 「名前」が格納されている。
では、他にどのような「キー」が存在するか、 phpコマンドの array_keys を使って抽出。
その結果
Array
(
[0] => id
[1] => name
[2] => first_name
[3] => last_name
[4] => link
[5] => location
[6] => work
[7] => education
[8] => gender
[9] => timezone
[10] => locale
[11] => languages
[12] => verified
[13] => updated_time
)
それぞれの キー の中にもいろいろ詰まっていそうなので、
print_r($me);
で、表示してみると
Array
(
[id] => 100001706516183
[name] => Kazuhiro Takeuchi
[first_name] => Kazuhiro
[last_name] => Takeuchi
[link] => http://www.facebook.com/kazuhiro.takeuchi
[location] => Array
(
[id] =>
[name] =>
)
[work] => Array
(
[0] => Array
(
[employer] => Array
(
[id] => 15ケタの数字
[name] => ○○○○
)
[position] => Array
(
[id] => 15ケタの数字
[name] => ○○○
)
[start_date] => ○○
[projects] => Array
(
[0] => Array
(
[id] => 15ケタの数字
[name] => ○○○○
)
)
)
[1] => Array
(
[employer] => Array
(
[id] => 15ケタの数字
[name] => ○○○
)
[position] => Array
(
[id] => 15ケタの数字
[name] => ○○○
)
[start_date] => 0000-00-00
[end_date] => 0000-00-00
)
)
[education] => Array
(
[0] => Array
(
[school] => Array
(
[id] => 15ケタの数字
[name] => ○○○
)
[year] => Array
(
[id] => 15ケタの数字
[name] => 4ケタの数字(西暦年)
)
[type] => College
)
)
[gender] => male
[timezone] => 9
[locale] => ja_JP
[languages] => Array
(
[0] => Array
(
[id] => 109549852396760
[name] => Japanese
)
[1] => Array
(
[id] => 15けたの数字
[name] => ○○○
)
[2] => Array
(
[id] => 15けたの数字
[name] => ○○○
)
)
[verified] => 1
[updated_time] => 2011-01-24T12:10:58+0000
)
という具合に、連想配列 $me の中身が確認される。
そこで、 連想配列 $me の中の値をピンポイントで取得する場合、例えば、現在の職場・会社の名前を取り出したいときは、
print_r($me['work'][0]['employer']['name']);
で、取り出せる。
連想配列 $me の中身の一覧表
| 項目 | キー1 | キー2 | キー3 | キー4 | キー5 | 変数 |
|---|---|---|---|---|---|---|
| ユーザーID | id | $me['id'] | ||||
| ユーザー氏名 | name | $me['name'] | ||||
| ユーザー名前 | first_name | $me['first_name'] | ||||
| ユーザー姓 | last_name | $me['last_name'] | ||||
| facebookページのURL | link | $me['link'] | ||||
| ロケーションID | location | id | $me['location']['id'] | |||
| ロケーション名 | location | name | $me['location']['name'] | |||
| 会社ID | work | 0 | employer | id | $me['work']['0']['employer']['id'] | |
| 会社名 | work | 0 | employer | name | $me['work']['0']['employer']['name'] | |
| 役職ID | work | 0 | position | id | $me['work']['0']['position']['id'] | |
| 役職名 | work | 0 | position | name | $me['work']['0']['position']['name'] | |
| 勤務開始日 | work | 0 | start_date | $me['work']['0']['start_date']' | ||
| 現在のプロジェクトID | work | 0 | projects | 0 | id | $me['work']['0']['projects']['0']['id'] |
| 現在のプロジェクト名 | work | 0 | projects | 0 | name | $me['work']['0']['projects']['0']['name'] |
| 過去の職歴ID | work | 1 | employer | id | $me['work']['1']['employer']['id'] | |
| 過去の勤務先名 | work | 1 | employer | name | $me['work']['1']['employer']['name'] | |
| 過去の役職ID | work | 1 | position | id | $me['work']['1']['position']['id'] | |
| 過去の役職名 | work | 1 | position | name | $me['work']['1']['position']['name'] | |
| 前の会社での勤務開始日 | work | 1 | start_date | $me['work']['1']['start_date'] | ||
| 前の会社での勤務終了日 | work | 1 | end_date | $me['work']['1']['end_date'] | ||
| 最終学歴ID | education | 0 | school | id | $me['education']['0']['school']['id'] | |
| 最終学歴学校名 | education | 0 | school | name | $me['education']['0']['school']['name'] | |
| 卒業年月日ID | education | 0 | year | id | $me['education']['0']['year']['id'] | |
| 卒業年月日 | education | 0 | year | name | $me['education']['0']['year']['name'] | |
| 学校の種別 | education | 0 | type | $me['education']['0']['type'] | ||
| 性別 | gender | $me['gender'] | ||||
| タイムゾーン | timezone | $me['timezone'] | ||||
| ブラウザ言語 | locale | $me['locale'] | ||||
| (会話)言語ID | languages | 0 | id | $me['languages']['0']['id'] | ||
| (会話)言語名 | languages | 0 | name | $me['languages']['0']['name'] | ||
| (会話)言語ID | languages | 1 | id | $me['languages']['1']['id'] | ||
| (会話)言語名 | languages | 1 | name | $me['languages']['1']['name'] | ||
| (未調査) | verified | $me['verified'] | ||||
| 最終更新日 | updated_time | $me['updated_time'] |