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 をそれぞれ設定してください。
設定できたらアプリを表示します。正しく設置できていれば、次のように表示されます。
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での署名認証