LoginSignup
113
107

More than 5 years have passed since last update.

TwitterOAuthの正しい使い方

Last updated at Posted at 2013-07-26

※この記事は古いため、2014年8月以降のTwitterOAuthでは動作しません。
新しい使い方はこちらを参照 → http://qiita.com/tsunet111/items/9309801cd3e3bcf6e32a

使い方 / ラッパー

PHP TwitterOAuth 1.1」でググると、

$TwitterOAuth->OAuthRequest("http://api.twitter.com/1.1/statuses/update.json","POST",array("status"=>$tweet));

みたいなコードばっかり引っかかってぅぇぇとなるんですが。
誰かが最初に適当に書いたのをみんながコピペしたという過去が透けて見えるようだ。
まあ、動けばそれでいいというPHPの精神には則っているかもしれませんね。

<?php

    // TwitterOAuth
    require_once('path/to/twitteroauth.php');
    $TwitterOAuth = new TwitterOAuth('コンシューマキー', 'コンシューマシークレット', 'アクセストークン', 'アクセスシークレット');

    // 1.1向け。2013/06/12以降の版であれば不要
    $TwitterOAuth->host = 'https://api.twitter.com/1.1/';

    // 認証が有効か+ユーザ情報取得
    $user = $TwitterOAuth->get('account/verify_credentials');

    // つぶやく
    $status = $TwitterOAuth->post('statuses/update', ['status' =>'ツイート内容']);

    // リツイート
    $retweet = $TwitterOAuth->post('statuses/retweet/ツイートID');

    // フォロアーを取得
    $followers = $TwitterOAuth->get('followers/list');

    // フォローしてる人を取得
    $follows = $TwitterOAuth->get('friends/list');

    // ユーザ名でユーザ情報を取得
    $userinfo = $TwitterOAuth->get('users/show', ['screen_name'=> '@以降の表示名']);

    // ユーザIDでフォローする
    $follow = $TwitterOAuth->post('friendships/create', ['user_id'=> 'ユーザID']);

APIは他にもたくさんありますが、呼び出し方はどれも同じです。
oAuthRequest()はJSONデコードもされていないし、このメソッドを直接呼ぶ意義は、今のところ全くありません。

さらに、TwitterOAuthは2013/06/12にTwitter API 1.1に対応したので、それ以降のバージョンであれば$connection->hostを書き換える必要すらありません。

ちなみにTwitterOAuth、テストコードがついてくるのですが、これがけっこう間違いがあったりして困りものです。

というか、どうして呼び出し側でget/post判断やURLを渡させるのですかね。
適当にinterface作ってそっちで吸収してくれよと非常に思う。

113
107
1

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
113
107