mixi Developer Center (ミクシィ デベロッパーセンター)

mixiアプリ

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'] に表示されているのが自分の名前です。

people_api_me.png

取得できない場合は、前チュートリアル「自分と友人の情報を表示(1)」でセッションに保存したアクセストークンの有効期限(15分)が切れてしまった可能性があります。その場合は、「ユーザ認可」を再び実行し、アクセストークンを取り直してください。
※実際のアプリ・ゲームでは、 ユーザ認可でアクセストークンを再取得するのではなく、リフレッシュトークンからアクセストークンを再取得してください。

友人の情報を取得

友人の情報を取得するには、People API に対して渡すパラメータ Group-Id を '@friends' に変更するだけで問題ありません。

graph-people-get.php では Group-Id に指定する値をGETパラメータから渡して実装しています。(start.php の72行目)

テストを行うパートナーテストアカウントに友人がいない場合は、他のパートナーテストアカウントと友人の設定をしておいてください。
友人の設定は、パートナーテストアカウントでmixiにログインした後、通常のユーザと同じように「友人申請」「承認」を行って設定してください。

画面から動作を確認してみましょう。TOPページから「友人の情報を取得」をクリックします。

正常にプログラムが動作すれば、次のように友人の情報が表示されます。

people_api_friends.png

People API のチュートリアルは以上となります。

前ページ 自分と友人の情報を表示(1)

次ページ 課金API

このページの上部へ