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