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

mixiアプリ

mixiアプリ » 技術仕様(Graph API方式) » PC » はじめてのmixiアプリ » チュートリアル » チュートリアル用プログラムの設置

チュートリアル用プログラムの設置

準備

これ以降のチュートリアルで使用するプログラムは、こちらからダウンロードできます。

ダウンロードしたファイルを解凍し、プログラムファイルをすべてそのままサーバに設置してください。

※このチュートリアル用プログラムは、エラー処理などを含んでおらず、プロダクトレベルのコードではありません。あくまでチュートリアル用としてご使用ください。

コンフィグ設定

config.php に各URLやCONSUMER_KEY, CONSUMER_SECRET などを設定します。

 1   <?php
 2   // domain 設定
 3   define('APP_DOMAIN', '[YOUR DOMAIN]');
 4   
 5   // Graph API利用に関する設定(PC、モバイル、スマートフォン)
 6   define('CONSUMER_KEY', '[YOUR GRAPH CONSUMER KEY]');
 7   define('CONSUMER_SECRET', '[YOUR GRAPH CONSUMER SECRET]');
 8   
 9   // RESTful API 利用に関する設定
10   define('RESTFUL_CONSUMER_KEY', '[YOUR RESTFUL CONSUMER KEY]');
11   define('RESTFUL_CONSUMER_SECRET', '[YOUR RESTFUL CONSUMER SECRET]');
12   
13   // PC対応アプリに関する設定
14   define('START_URL', 'http://'.APP_DOMAIN.'/start.php');
15   define('REDIRECT_URI', 'http://'.APP_DOMAIN.'/redirect.php');
16   
17   //ライフサイクルイベントに関する設定
18   define('LIFECYCLE_EVENT_ADD_URL', 'http://'.APP_DOMAIN.'/lifecycle-event-add.php');
19   
20   // ----------------------------------------------------------------------------
21   // JavaScriptAPI利用の準備 手順1. のファイルを設置したURLを設定してください。
22   // ----------------------------------------------------------------------------
23   define('RELAY_URL', 'http://'.APP_DOMAIN.'/relay.html');
24   
25   // FIXEDSALT
26   define('FIXEDSALT', 'cd445222a3195f9ff875ab9ab3fbe1e6');

3行目 "[YOUR DOMAIN]" の部分を設置するサーバドメイン名に変更してください。 "example.com" などです。

6, 7行目に Partner Dashboard の「アプリ設定変更」画面に表示されている、Graph API の CONSUMER_KEY, CONSUMER_SECRET をそれぞれ設定してください。
10, 11行目に Partner Dashboard の「アプリ設定変更」画面に表示されている RESTful API の CONSUMER_KEY, CONSUMER_SECRET をそれぞれ設定してください。

設定できたらアプリを表示します。正しく設置できていれば、次のように表示されます。

app_top.png

OAuth.php について

チュートリアル用プログラムの中には、署名認証で使用する OAuth.php も含まれています。
これはオープンソースのOAuthライブラリプロジェクトのリビジョン1261に、mixiアプリ用として次の修正を行ったものです。
%diff -u OAuth.php.r1261 OAuth.php
--- OAuth.php.r1261     2013-06-13 16:17:14.000000000 +0900
+++ OAuth.php   2013-07-08 12:43:19.000000000 +0900
@@ -254,7 +254,7 @@
   /**
    * attempt to build up a request from what was passed to the server
    */
-  public static function from_request($http_method=NULL, $http_url=NULL, $parameters=NULL) {
+  public static function from_request($http_method=NULL, $http_url=NULL, $parameters=NULL, $postDataMergeFlg=true){
     $scheme = (!isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] != "on")
               ? 'http'
               : 'https';
@@ -286,14 +286,14 @@
         $post_data = OAuthUtil::parse_parameters(
           file_get_contents(self::$POST_INPUT)
         );
-        $parameters = array_merge($parameters, $post_data);
+        if($postDataMergeFlg) $parameters = array_merge($parameters, $post_data);
       }
       // We have a Authorization-header with OAuth data. Parse the header
       // and add those overriding any duplicates from GET or POST
       if (isset($request_headers['Authorization']) && substr($request_headers['Authorization'], 0, 6) == 'OAuth ') {
         $header_parameters = OAuthUtil::split_header(
-          $request_headers['Authorization']
+          $request_headers['Authorization'], false
         );
         $parameters = array_merge($parameters, $header_parameters);
       }

254行目 from_request() メソッドへ第4引数 $postDataMergeFlg の追加を行っているのは、ライフサイクルイベントのPOST通知にて、PostBodyを署名のベース文字列に含めないめの措置となります。ご了承ください。

 

前ページ アプリの登録

次ページ スタートURLでの署名認証

 

このページの上部へ