mixiアプリ » 技術仕様(Graph API方式) » PC » はじめてのmixiアプリ » チュートリアル » 自分と友人の情報を表示(2)
自分と友人の情報を表示(2) - Graph People API を使ってみる
People API を使ってみる
アクセストークンが取得できたので、Graph API を使用する準備ができました。それでは People API を使って自分の情報を取得してみましょう。
チュートリアル用プログラムでは graph-people-get.php に実装しています。
graph-people-get.php
1 <?php
2 require_once('functions.php');
3 require_once('config.php');
4
5 $userId = '@me';
6 $groupId = (empty($_GET['groupId'])) ? '@self' : $_GET['groupId'];
7 $url = "https://api.mixi-platform.com/2/people/{$userId}/{$groupId}";
8
9 $accessToken = isset($_SESSION['access_token']) ? $_SESSION['access_token'] : '';
10
11 $headers = array(
12 "Authorization: Bearer {$accessToken}",
13 );
14 $ch = curl_init(); // init
15 curl_setopt($ch, CURLOPT_URL, $url); // URLをセット
16 curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); // headerをセット
17 curl_setopt($ch, CURLOPT_HEADER, true); // レスポンスheaderを取得
18 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 結果を文字列で取得
19 $res = curl_exec($ch); // 実行
20
21 list($resHeader, $resBody) = split("(\r\n){2}", $res);
22 $resCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
23 $resBody = json_decode($resBody, true);
24 curl_close($ch); // close
25
26 ?>
27 <!DOCTYPE html>
28 <html>
29 <head>
30 <meta charset="UTF-8" />
31 <title>はじめてのmixiアプリ</title>
32 <script type="text/javascript" charset="UTF-8" src="https://static.mixi.jp/js/application/connect.js"></script>
33 </head>
34 <body>
35 <div>
36 <?=h( ($groupId == '@friends') ? '友人' : '自分' )?>の情報を取得
37 </div>
38 <div>
39 <pre><?=h( print_r($resBody, true) )?></pre>
40 </div>
41 <? if($resCode != 200){ // エラーケース ?>
42 <div>
43 <?=h( 'response code:'.$resCode )?>
44 </div>
45 <div>
46 <pre><?=h( $resHeader )?></pre>
47 </div>
48 <? } ?>
49 <div>
50 <a href="start.php">top</a>
51 </div>
52 </body>
53 </html>
People API のエンドポイントは "https://api.mixi-platform.com/2/people" です。詳細は「友人一覧の取得」をご参照ください。
5-7行 エンドポイントとパラメータの設定。自分の情報を取得する場合は、User-Id に "@me"、Group-Id に "@self" を設定します。
ここでは友人の情報を取得する場合も考慮して、Group-Id をパラメータから受け取れるようにしています。
9-13行 アクセストークンを header に設定します。
14-24行 curl でリクエスト実行を行っています。
では、画面から動作を確認してみましょう。
TOPページの「自分の情報を取得」をクリックして graph-people-get.php へ遷移できます。
正常に取得できれば、次のように表示されるはずです。 $c["entry"]['displayName'] に表示されているのが自分の名前です。

取得できない場合は、前チュートリアル「自分と友人の情報を表示(1)」でセッションに保存したアクセストークンの有効期限(15分)が切れてしまった可能性があります。その場合は、「ユーザ認可」を再び実行し、アクセストークンを取り直してください。
※実際のアプリ・ゲームでは、 ユーザ認可でアクセストークンを再取得するのではなく、リフレッシュトークンからアクセストークンを再取得してください。
友人の情報を取得
友人の情報を取得するには、People API に対して渡すパラメータ Group-Id を '@friends' に変更するだけで問題ありません。
graph-people-get.php では Group-Id に指定する値をGETパラメータから渡して実装しています。(start.php の72行目)
テストを行うパートナーテストアカウントに友人がいない場合は、他のパートナーテストアカウントと友人の設定をしておいてください。
友人の設定は、パートナーテストアカウントでmixiにログインした後、通常のユーザと同じように「友人申請」「承認」を行って設定してください。
画面から動作を確認してみましょう。TOPページから「友人の情報を取得」をクリックします。
正常にプログラムが動作すれば、次のように友人の情報が表示されます。

People API のチュートリアルは以上となります。
前ページ 自分と友人の情報を表示(1)
次ページ 課金API