LoginSignup
2
2

More than 5 years have passed since last update.

unsupported_grant_typeエラー

Posted at

callback.phpからTokenエンドポイントにリクエストすると、
{"error":"unsupported_grant_type","error_description":null,"error_code":"901"}
というエラーが返ってきます。

'authorization_code'という文字列で間違っていないと思うのですが、
何が原因かわかりますでしょうか?

callback.phpは以下のようなコードになっています。

<?php
/**
*callback.php(コールバック)
*Tokenエンドポイントにリクエスト
*
*/
$code = $_GET["code"]; // 認可コード

$applicationId = "アプリケーションID";
$secret = "シークレット";

$api = "https://auth.login.yahoo.co.jp/yconnect/v1/token";

$basicAuth = base64_encode($applicationId . ':' . $secret);

$redirect_uri  = "Authorizationエンドポイントで指定したURI";


$postdata = array(
    "grant_type" => "authorization_code",
    "code" => $code,
    "redirect_uri" => $redirect_uri
    );


$header = array(
   'Authorization: Basic '.$basicAuth,
   'Content-Type: application/x-www-form-urlencoded; charset=utf-8'
);
$ch = curl_init($api);
curl_setopt_array($ch, array(
    CURLOPT_HEADER => true,
    CURLOPT_HTTPHEADER => $header,
    CURLOPT_POST => true,
    CURLOPT_POSTFIELDS => $postdata,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_SSL_VERIFYPEER => false
));

$result = curl_exec($ch);

// HTTPステータスコードをチェックしエラーならエラー内容を出力
if(curl_errno($ch)) {
    echo 'Curl error: ' . curl_error($ch);
}

curl_close($ch);

echo $result;

?>

よろしくお願いいたします。

根岸

2
2
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2