【5分で解決!】TwitterAPIv1.1の変更と{“message”:”Could not authenticate you”,”code”:32}エラー。

PHP

概要

「TwitterAPI全然動かん…」

この記事では、TwitterAPIがCould not authenticate youエラーになってどうしても動かない、そんな時の解決方法を解説しています。

TwitterAPI, Could not authenticate youの原因はこれだった

結論から、先に書きますと、

consumer_keyとconsumer_secretが本番環境とローカル環境で異なっていて動かなかった。

この2つを是非確かめてみてください。

往々にして、Twitterの様々な仕様変更によりクライアントアプリが対応に困らされている印象がありました。 が、とうとうAPIが更新され、今までのバージョンは完全に廃止され、v1.1へと完全移行しました。 これにより、また多くのTwitterのクライアントアプリが虚しい事になっていますね。 さて、実はうちのアプリもご多聞に洩れずこの影響を受け、ユーザー様からたくさんの苦情が寄せられてしまいました。 そのAPIの改修を昨日今日でやっていたんですが、ようやく完了して落ち着いたのでまとめブログでも書く事にします。 ちなみに、PHPで書いています。 アクセスポイントの変更

TwitterAPIv1.0では、以下の様なアクセスポイントでAPIを取得していました。

 $this->twitter->request("http://api.twitter.com/1/{$api}.json", $params, $oauth_token, $oauth_token_secret, $method);

これを

 $this->twitter->request("https://api.twitter.com/1.1/{$api}.json", $params, $oauth_token, $oauth_token_secret, $method);

の様に変更します。

API名の変更

statuses/friends -> friends/list

の様に、API名すら変更されているものもあります。

これらの変更については、

https://dev.twitter.com/docs/api/1.1
https://dev.twitter.com/docs/api/1

の2つをよく見比べて頑張って下さい(ここでは詳しくは割愛させていただきます)。

{“message”:”Could not authenticate you”,”code”:32}

さて、TwitterAPI修正で一番詰まったのはタイトルにもなっているこちらです。
数時間どはまりしました。

API名も正しく、oauth_token及びoauth_token_secretも正しく入れてるのにauthenticate出来ないって。

すごい悩んでいろんなサイトを見ました。

https://dev.twitter.com/discussions/11494
Twitter API 1.1でなぜか"Could not authenticate you"と言われる - fkm blog
Twitter API ver 1がそろそろ終了なので, モケラさんBOTをがんばってAPI 1.1対応しました.そのときハマったのが, 下記のエラー {"errors":} 世界中のみなさんがこのエラーに遭遇してるみたいですが, 「これだ」という解決方法が書かれてなくて困ってました. 原因はURLにありましたAPI ...
TwitterAPI v1.1対応メモ(users/lookup 認証エラー)
現在、フォローチェック for TwitterでのTwitterAPI v1.1対応を行っています。 そこでち…
Could not authenticate you code:32
オレメモ。swd突如twitterAPIの仕様が変わっ

でも、一向に答えは出ず。

で、結果なのですが冒頭でもお伝えした通りconsumer_keyとconsumer_secretが本番環境とローカル環境で異なっていて動かなかった。と言うオチでした。

これらを正しくしたら見事ツイートや友達リストの取得完了でした。
悲しいですね。

誰かのお役に立てば。

Twitterフォローお願いします

「次回以降も記事を読んでみたい!」
「この辺分からなかったから質問したい!」

そんな時は、是非@daiki1003のフォローお願いします♪

コメント

タイトルとURLをコピーしました