【Rinker】401:AmazonAPIのステータスエラーでamazon商品検索出来ない【コード修正で対策】

WordPress使っている方ならば商品リンクツール使ってると思うんですが、
私は以前はカエレバを使っていたのですが、カエレバはいつからかamazon商品検索が出来なくなり使いにくく感じて本当最近なんですが、今更感満載でRinkerに移行したんですよね。
ちなみにRinkerはこれです↓↓

そんなRinkerでamazon商品検索すると、
401:AmazonAPIのステータスエラー: {“message”:”The authentication token is invalid or malformed”,”reason”:”InvalidToken”,”type”:”UnauthorizedException”} AmazonAPIのステータスエラー
ってエラーで商品検索出来ない。
原因の一つ、直近30日での売り上げが10件以下なんですが、売り上げは直近30日で優に10件以上です。
エラーコードで検索してみたら、同じ症状の方の対策方法のサイトが何件もあったので私も試した所、問題解決した訳なんです。

Rinker401:amazonAPIのステイタスエラーで商品検索出来ない時のコード修正での対策方法


wordpressの管理画面の左にあるプラグインプラグインファイルエディターをクリックするとプラグインを編集画面になるので、右上の編集するプラグインを選択: のタブからRinkerを選び選択をクリックすると、Rinkerを編集画面になるので、右のプラグインファイルの中のyyi_rinker_main_phpをクリックで編集画面になるので、

2280行あたりに修正したいコード

修正前コード
$curl = curl_init();
$auth_creds = $creator_auth_id . ':' . $creator_secret_key;
$headers = [
'Content-Type: application/x-www-form-urlencoded',
'Authorization: Basic ' . base64_encode($auth_creds),
];

curl_setopt($curl, CURLOPT_URL, 'https://creatorsapi.auth.us-west-2.amazoncognito.com/oauth2/token');
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($curl, CURLOPT_POSTFIELDS, 'grant_type=client_credentials&scope=creatorsapi/default');
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);

このコードを修正コードと書き換えます。
修正後コード
$curl = curl_init();
$headers = [
'Content-Type: application/json',
];
$token_payload = json_encode([
'grant_type' => 'client_credentials',
'client_id' => $creator_auth_id,
'client_secret' => $creator_secret_key,
'scope' => 'creatorsapi::default',
]);
curl_setopt($curl, CURLOPT_URL, 'https://api.amazon.co.jp/auth/o2/token');
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($curl, CURLOPT_POSTFIELDS, $token_payload);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
コードの編集なので細心の注意で作業します。
ちなみに私は1度失敗したみたいでamazon検索すると商品情報どころかエラーコードまで出なくなってしまいました。
Rinkerを無効化して再インストールしたらまたエラーコードが出たので、再度修正コードに書き換えたら無事にamazon商品検索出来るようになりました。
Rinkerをインストールして使えてる方ならばそんな難しい作業でもないですけどね。
ちなみにRinkerを再インストールしても設定情報は受け継がれるので安心して下さい。

今回のエラーはRinkerがCreators APIの対応に追いついていない為に起こるらしいです。
Rinkerの更新が不定期な為、定期的更新のポチップに移行した方が良いみたいですね。
私はクラシックエディターで編集していて、ポチップは対応していないらしくて今回はコード修正でRinker続投です。
ただ、これからの仕様変更でエラー出る度に対応コード編集していくのも面倒ちゃ面倒です。

私と同じようにRinkerでamazon商品検索出来ない方の参考になれば幸いです。

 

この記事が気に入ったら
いいね!しよう

最新情報をお届けします

Twitter でマツカタをフォローしよう!

コメントを残す

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

ABOUTこの記事をかいた人

1975年生まれのスノーボード大好きおじさん スノーボード歴25年以上、釣り、ゴルフ、アウトドア、D.I.Y、料理、酒、バイク、、、趣味多数、、 大阪出身。恋愛、結婚を機に上京。東京での生活も10年そこそこの時の本厄の年、 ボーダ(境界性パーソナリティー障害)嫁のゲス不倫が原因での一方的離婚。最愛の息子と離れての生活を余儀なくされる、、 そんなこんなで、これからの人生の春を信じて奮闘中!!