The Twitter REST API v1 is no longer active. Please migrate to API v1.1

CodeIgniter
By: Seattle Clouds

かぶめもでTwitterでのログインができなくなって調べてみたら、利用していたREST APIのサポートが終了したとのことでした。

エラーメッセージを訳すと「ツイッターREST API v1はもう死んでいます」って感じでしょうか。

 

{ "errors": [
    { "message": "The Twitter REST API v1 is no longer active. Please migrate to API v1.1. https://dev.twitter.com/docs/api/1.1/overview.",
      "code": 68
    }
  ]
}

 

ライブラリーの切り替え

もともとはci_opauthというライブラリーを使っていましたが、Codeigniter-TwitterOAuthというライブラリーに切り替えました。

以前 : https://github.com/destinomultimedia/ci_opauth

現在 : https://github.com/MunGell/Codeigniter-TwitterOAuth

 

config/twitter.php

まずconfigのファイルを設定します。
Twitter DevelopersMy applicationsからアプリを開いて下記の内容を設定します。

  • Consumer key
  • Consumer secret
  • Access token
  • Access token secret

 

controllers/twitter.php

次にコントローラーですが、こちらは初めから動くものが用意されています。twitter/authが認証機能で、認証が成功するとセッションに twitter_user_id や twitter_screen_name が格納されます。この情報を元にログイン状態が判断できます。

twitter/postはツイートする機能のようですが、まだ試せていません。

 

REST API v1.1

REST API v1.1の使い方はこちらに情報がまとまっています。

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

 

名称(name)の取得は下記のリンク先に情報があります。どう取得するのかこの情報にたどりつくまで時間がかかりました。

https://dev.twitter.com/docs/api/1.1/get/account/verify_credentials

 

取得の仕方はこんな感じです。分かってしまえば簡単ですね。

$content = $this->connection->get('account/verify_credentials');
$name = $content->name;

 

コメント

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