カラーミーいじりたおし カラーミーAPIを試してみた 2
http://shop-pro.blogspot.jp/2014/03/api-2.html

php POST送信時の「Content-type not specified assuming application/x-www-form-urlencoded」エラー
http://crss-m.jp/blog/?p=36

APIの解説とカラーミーAPIを利用した集客ツール事例のご紹介
http://axis-blog.com/?p=734


といろいろ参考にしたけど普通にカラーミーの「カラーミーAPIを使ってできること」
http://shop-pro.jp/?mode=api_started
の順番にした方が正しく動いた。
あ、サーバーはhetemlです。

手順としては
1、カラーミーデベロッパーアカウントに登録→こちら

2、アプリを登録(アプリ名とリダイレクトURL(ここではheteml上で登録したphpを使った))

3、認証ページを表示
下記URLにおいて
<CLIENT_ID>にアプリのところに表示されるクライアントID、
<REDIRECT_URL>にリダイレクトURL
を入力してブラウザで開く
https://api.shop-pro.jp/oauth/authorize?client_id=<CLIENT_ID>&redirect_uri=<REDIRECT_URL>&response_type=code&scope=read_products%20write_products
※商品データを参照の場合はscope=read_products、在庫データを更新の場合はscope=write_products
受注・顧客データを参照の場合はscope=read_sales、受注データを更新の場合はscope=write_sales

4、承認ボタンをおしてエラーコードがなければURLにcode=と表示されるのでそのURLをメモ(有効なのは10分ぐらい)

5、リダイレクトURLのphpに下記プログラムを張り付けて適宜変更して保存
----------------------------------------------------------------------------------
<?php
$params = array(
    'client_id'     => '<OAUTH2_CLIENT_ID>',          //クライアントIDを入力
    'client_secret' => '<OAUTH2_CLIENT_SECRET>',  //クライアントシークレットを入力
    'code'          => '<code>',                          //4で取ったURLのコード部分を入力
    'grant_type'    => 'authorization_code',           //このまま
    'redirect_uri'  => '<OAUTH2_REDIRECT_URI>'     //リダイレクトURLを入力
);
$request_options = array(
    'http' => array(
        'method'  => 'POST',
        'content' => http_build_query($params)
    )
);
$context = stream_context_create($request_options);

$token_url = 'https://api.shop-pro.jp/oauth/token';
$response_body = file_get_contents($token_url, false, $context);

echo $response_body;
--------------------------------------------------------------------------------------

6、4のURLにアクセスして表示されたトークンの文字列を吸出し


でこのトークンを使えば商品の更新や情報の取得が可能になります。
4に書いた通りコードが有効なのは10分ぐらいなので気を付けてください。
わけあってやり直したらコードの部分はこのブログ上だと異なる表記になるみたいなので
http://shop-pro.jp/?mode=api_startedの4. 認可コードとアクセストークンを交換の
ソースを直接参照したほうが確実です。
さいごにecho $response_body;だけ付け加えてください。

PHPなのでテキストでも読み込めさせば選択一括更新可能とかできたりします。
まだ実装できてないけど…