Twitch API 認証フローを使用していますが、ユーザーを取得しようとすると、アクセス トークンが正しくないと表示され続けます。
認証後に Twitch が提供したアクセス トークンがデータベースに保存されます。次に、cURL を使用してユーザーを取得すると、Twitch で次のエラーが表示されます。
{"error":"Unauthorized","status":401,"message":"Token invalid or missing required scope"}
アクセストークンはヘッダーとして送信されます
curl_setopt($crl, CURLOPT_HTTPHEADER, array(
'Authorization: OAuth '.$token
));
私はこの問題をグーグルで検索しましたが、関連するものは何も見つかりませんでした。
$crl = curl_init();
curl_setopt ($crl, CURLOPT_URL,'https://api.twitch.tv/kraken/user');
curl_setopt ($crl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($crl, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt ($crl, CURLOPT_SSL_VERIFYPEER, false);
if($token)
{
curl_setopt($crl, CURLOPT_HTTPHEADER, array(
'Authorization: OAuth '.$token
));
}
$ret = curl_exec($crl);
curl_close($crl);
twitch が "code=[code]" でリダイレクトするページにいる場合にのみ、ユーザー オブジェクト bu を取得できることがわかりました。そのページに留まって cURL リクエストを作成しようとすると、すべて正常に動作しますしかし、データベースにaccess_tokenを保存してそのページを離れると、access_tokenが無効になります