ワイズリマインダー

EC-CUBEのWebAPIでアクセストークンを発行する

任意の場所に次のphpをアップロードします。
今回は、hogehoge.comのルートディレクトリに callback.php としてアップロードします。
2~4行目を適宜変更してください。

<?php
define('TOKEN_ENDPOINT', '■■■Token endpoint■■■');
define('CLIENT_ID', '■■■クライアントID■■■');
define('CLIENT_SECRET', '■■■クライアントシークレット■■■');

if (!isset($_REQUEST['code'])) die(var_dump($_SERVER));

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, TOKEN_ENDPOINT);
curl_setopt($curl, CURLOPT_POSTFIELDS, "grant_type=authorization_code&client_id=".CLIENT_ID."&client_secret=".CLIENT_SECRET."&redirect_uri=http".($_SERVER['HTTPS'] ? "s" : "")."://".$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME']."&code=".$_REQUEST['code']);
curl_setopt($curl, CURLINFO_HEADER_OUT, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, ["Content-Type: application/x-www-form-urlencoded"]);
$result = curl_exec($curl);
curl_close($curl);
header("Content-Type: text/html");
echo "<html><body><pre>";
print_r(json_decode($result, true));
echo "</pre></body></html>";
exit;
?>

※リフレッシュトークンで再取得する際は、
grant_typeをrefresh_tokenにしcodeは不要で
新たにrefresh_token=<リフレッシュトークン>を付与する

 

次に、EC-CUBEにログインして、
『設定』>『API管理』>『OAuth管理』で『新規登録』をクリックします。

スコープは必要に応じて、どちらか、または両方にチェックを入れます。
リダイレクトURIに 『https://hogehoge.com/callback.php』を入力して、
『登録』をクリックします。

表示されたクライアントIDを次で使用します。

 

次のURLを適宜変更してブラウザでアクセスします。

https://<ec-cubeのドメイン>/<管理画面URL>/authorize?response_type=code&client_id=<前項で表示されたクライアントID>&redirect_uri=https://hogehoge.com/callback.php&scope=<scope>&state=<ランダム文字列>

※scopeは、readの場合は scope=read
read/writeの場合は、半角スペースで区切ります。
scope=read wrhte

 

成功すると、以下のようなアクセストークンが発行されます

Array
(
    [token_type] => Bearer
    [expires_in] => 3600
    [access_token] => eyJ0eXAiOiJKV1_HOGEHOGE
    [refresh_token] => def50200754b1b5ceefd_HOGEHOGE
)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

検索

最近のコメント

最近の投稿

タグ

フィード配信

アーカイブ

外部リンク