※この情報は 2012 年 1 月現在のものです。仕様が変更される可能性は充分にあるので、ご了承ください。
1. アプリを登録する
Create an application | Twitter Developers にアクセスし、アプリの登録を行う。
Name: アプリ名
Description: アプリの説明
WebSite: アプリ本体の URL
Callback URL: ユーザによる認証動作後にリダイレクトする URL(「5.」でアップする php)
※全ての情報は登録後でも変更できるので、気楽に。
Description: アプリの説明
WebSite: アプリ本体の URL
Callback URL: ユーザによる認証動作後にリダイレクトする URL(「5.」でアップする php)
※全ての情報は登録後でも変更できるので、気楽に。
2. 書き込みできる権限に変更する
アプリの詳細ページに「Settings」というタブがあるので、それをクリックし、「Application Type」の「Access」を「Read and Write」に変更し、保存する。
3. 使うキーを確認する
「Details」タブを押し、「Consumer key」と「Consumer secret」を確認する。これが今後必要となるキー。
4. 必要となるライブラリをインストールする
下記からダウンロードし、アプリとするディレクトリにアップする。
PEAR: PEAR, /アプリのディレクトリ/PEAR
HTTP_OAuth: HTTP_OAuth, /アプリのディレクトリ/HTTP
HTTP_Request2: HTTP_Request2, /アプリのディレクトリ/HTTP/Request2
Net_URL2: Net_URL2, /アプリのディレクトリ/Net
HTTP_OAuth: HTTP_OAuth, /アプリのディレクトリ/HTTP
HTTP_Request2: HTTP_Request2, /アプリのディレクトリ/HTTP/Request2
Net_URL2: Net_URL2, /アプリのディレクトリ/Net
5. 認証受け渡し用の php を用意する
下記に必要な事項を埋め、アプリのディレクトリにアップする。
<?php
include './HTTP/OAuth/Consumer.php';
$consumer_key = 'xxxxxxxxxxxxxxxx'; // 「3.」で確認した「Consumer key」
$consumer_secret = 'xxxxxxxxxxxxxxxx'; // 「3.」で確認した「Consumer secret」
$http_request = new HTTP_Request2();
$http_request->setConfig('ssl_verify_peer', false);
$consumer = new HTTP_OAuth_Consumer($consumer_key, $consumer_secret);
$consumer_request = new HTTP_OAuth_Consumer_Request;
$consumer_request->accept($http_request);
$consumer->accept($consumer_request);
session_start();
if (empty($_GET['oauth_verifier'])) {
// ユーザの認証前、Twitter にリダイレクトする
$callback = 'callback する URL'; // この場合はこの php 本体
$consumer->getRequestToken('https://api.twitter.com/oauth/request_token', $callback);
$_SESSION['request_token'] = $consumer->getToken();
$_SESSION['request_token_secret'] = $consumer->getTokenSecret();
$auth_url = $consumer->getAuthorizeUrl('https://api.twitter.com/oauth/authorize');
header('Location:'. $auth_url);
} else {
// ユーザの認証後、リダイレクトで帰ってきた後
$consumer->setToken($_SESSION['request_token']);
$consumer->setTokenSecret($_SESSION['request_token_secret']);
$consumer->getAccessToken('https://api.twitter.com/oauth/access_token', $_GET['oauth_verifier']);
$_SESSION['access_token'] = $consumer->getToken();
$_SESSION['access_token_secret'] = $consumer->getTokenSecret();
echo "<script type='text/javascript'>location.href = 'アプリ本体の URL';</script>";
}
?>
include './HTTP/OAuth/Consumer.php';
$consumer_key = 'xxxxxxxxxxxxxxxx'; // 「3.」で確認した「Consumer key」
$consumer_secret = 'xxxxxxxxxxxxxxxx'; // 「3.」で確認した「Consumer secret」
$http_request = new HTTP_Request2();
$http_request->setConfig('ssl_verify_peer', false);
$consumer = new HTTP_OAuth_Consumer($consumer_key, $consumer_secret);
$consumer_request = new HTTP_OAuth_Consumer_Request;
$consumer_request->accept($http_request);
$consumer->accept($consumer_request);
session_start();
if (empty($_GET['oauth_verifier'])) {
// ユーザの認証前、Twitter にリダイレクトする
$callback = 'callback する URL'; // この場合はこの php 本体
$consumer->getRequestToken('https://api.twitter.com/oauth/request_token', $callback);
$_SESSION['request_token'] = $consumer->getToken();
$_SESSION['request_token_secret'] = $consumer->getTokenSecret();
$auth_url = $consumer->getAuthorizeUrl('https://api.twitter.com/oauth/authorize');
header('Location:'. $auth_url);
} else {
// ユーザの認証後、リダイレクトで帰ってきた後
$consumer->setToken($_SESSION['request_token']);
$consumer->setTokenSecret($_SESSION['request_token_secret']);
$consumer->getAccessToken('https://api.twitter.com/oauth/access_token', $_GET['oauth_verifier']);
$_SESSION['access_token'] = $consumer->getToken();
$_SESSION['access_token_secret'] = $consumer->getTokenSecret();
echo "<script type='text/javascript'>location.href = 'アプリ本体の URL';</script>";
}
?>
6. post する
下記の php をアプリのディレクトリにアップする
<?php
require_once 'HTTP/OAuth/Consumer.php';
$consumer_key = 'xxxxxxxxxxxxxxxx'; // 「3.」で確認した「Consumer key」
$consumer_secret = 'xxxxxxxxxxxxxxxx'; // 「3.」で確認した「Consumer secret」
$access_token = 'xxxxxxxxxxxxxxxx'; // 「5.」で取得した access_token
$access_token_secret = 'xxxxxxxxxxxxxxxx'; // 「5.」で取得した access_token_secret
$http_request = new HTTP_Request2();
$http_request->setConfig('ssl_verify_peer', false);
$consumer = new HTTP_OAuth_Consumer($consumer_key, $consumer_secret);
$consumer_request = new HTTP_OAuth_Consumer_Request;
$consumer_request->accept($http_request);
$consumer->accept($consumer_request);
$consumer->setToken($access_token);
$consumer->setTokenSecret($access_token_secret);
$api_url = 'http://api.twitter.com/1/statuses/update.json';
$params = array(
'status' => 'テスト' // post する本文
);
$response = $consumer->sendRequest($api_url, $params, 'POST');
echo "<script type='text/javascript'>alert('「". $status. "」をpostしました!');</script>\n";
?>
require_once 'HTTP/OAuth/Consumer.php';
$consumer_key = 'xxxxxxxxxxxxxxxx'; // 「3.」で確認した「Consumer key」
$consumer_secret = 'xxxxxxxxxxxxxxxx'; // 「3.」で確認した「Consumer secret」
$access_token = 'xxxxxxxxxxxxxxxx'; // 「5.」で取得した access_token
$access_token_secret = 'xxxxxxxxxxxxxxxx'; // 「5.」で取得した access_token_secret
$http_request = new HTTP_Request2();
$http_request->setConfig('ssl_verify_peer', false);
$consumer = new HTTP_OAuth_Consumer($consumer_key, $consumer_secret);
$consumer_request = new HTTP_OAuth_Consumer_Request;
$consumer_request->accept($http_request);
$consumer->accept($consumer_request);
$consumer->setToken($access_token);
$consumer->setTokenSecret($access_token_secret);
$api_url = 'http://api.twitter.com/1/statuses/update.json';
$params = array(
'status' => 'テスト' // post する本文
);
$response = $consumer->sendRequest($api_url, $params, 'POST');
echo "<script type='text/javascript'>alert('「". $status. "」をpostしました!');</script>\n";
?>
POST statuses/update | Twitter Developers
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.