https://github.com/themattharris/tmhOAuth
↑ ここからダウンロードして tmhOAuth.php をサーバにアップします。
require_once 'tmhOAuth.php'; $twitter = new tmhOAuth( array( 'consumer_key' => 'aaaaa' , 'consumer_secret' => 'bbbbb' , 'token' => 'ccccc' , 'secret' => 'ddddd' , 'curl_ssl_verifypeer' => false , 'timezone' => 'Asia/Tokyo' , ) ); $r = $twitter->request('POST', $twitter->url('1.1/statuses/update'), array( 'status' => 'hoge hoge hoge' ), true, false); // 正常終了なら $r に 200 が返る。 print '<pre>'; print_r($twitter); print '</pre>';
https://dev.twitter.com/docs/api/1.1
その他参考:
PEARでTwitter等各種サービスにOAuthログインをする。(https SSL対応)
面倒な方は
http://logic.moo.jp/memo.php?cmd=download&data_id=780&file=780_1.zip
をダウンロードして(lib)フォルダをそのままコピーしてください。
https://twitter.com/apps
【新しいアプリケーションを追加】を押して、アプリ情報を入力して登録を完了させる。
登録完了後に表示される画面から
・Cunsumer Key ・Consumer secret ・Request token URL (フォローをリクエストしました) ・Access token URL ・Authorize URL
をメモしておく
後は下記コードにメモした情報をコピペすればOK($callback_url にはプログラムのURLをセットする。)
$path = './lib'; set_include_path(get_include_path() . PATH_SEPARATOR . $path); include 'HTTP/OAuth/Consumer.php'; $consumer_key = 'XXXXXXXXXX'; $consumer_secret = 'XXXXXXXXXX'; $get_request_token = 'https://twitter.com/oauth/request_token'; $get_access_token = 'https://twitter.com/oauth/access_token'; $get_authorize = 'https://twitter.com/oauth/authorize'; // $get_authorize = 'https://twitter.com/oauth/authenticate'; // 毎回出る 認証画面をskipしたい時 $callback_url = 'XXXXXXXXXX'; $oauth = new HTTP_OAuth_Consumer($consumer_key, $consumer_secret); // ssl証明書 $http_request = new HTTP_Request2(); $http_request->setConfig('ssl_verify_peer', false); $oauth_request = new HTTP_OAuth_Consumer_Request; $oauth_request->accept($http_request); $oauth->accept($oauth_request); $oauth_flag = false; session_start(); if (empty($_SESSION['oauth_access_token']) && empty($_GET['oauth_verifier'])) { // 1. 初回呼び出し時 $oauth->getRequestToken($get_request_token, $callback_url); $_SESSION['oauth_request_token'] = $oauth->getToken(); $_SESSION['oauth_request_token_secret'] = $oauth->getTokenSecret(); $_SESSION['oauth_state'] = "start"; $auth_url = $oauth->getAuthorizeURL($get_authorize); // header("Location: $auth_url"); // A. リダイレクト print('<a href="'.$auth_url.'">'.$auth_url.'</a>'); // B. リンク表示 } elseif( isset($_GET['oauth_verifier']) ){ // 2. サービスから帰ってきたとき $oauth->setToken($_SESSION['oauth_request_token']); $oauth->setTokenSecret($_SESSION['oauth_request_token_secret']); $oauth->getAccessToken($get_access_token, $_GET['oauth_verifier']); $_SESSION['oauth_access_token'] = $oauth->getToken(); $_SESSION['oauth_access_token_secret'] = $oauth->getTokenSecret(); $oauth_flag = true; } else{ // 3. 認証後にアクセスしたとき $oauth_flag = true; } if ( $oauth_flag ){ // ここにやりたい事を記述 print '<h1>OAUTH OK !</h1>'; }