Salah satu Twitter client berbasis web yang dapat kita pakai sendiri, bisa kita install sendiri dan dapat kita modifikasi sendiri adalah Dabr. Dabr menyediakan source code Twitter Client yang bersifat open source. Bagaimana cara kita bisa membuat aplikasi web twiter client ?
1. Harus mempunyai domain dan hosting dulu (lebih mudah jika memiliki akses cpanel dan/atau FTP).
2. Download Source code Dabr dan upload ke hostingan kita, silakan klik di sini.
1. Harus mempunyai domain dan hosting dulu (lebih mudah jika memiliki akses cpanel dan/atau FTP).
2. Download Source code Dabr dan upload ke hostingan kita, silakan klik di sini.
Source code dari Dabr dapat di download di sini, source code berukuran sekitar 37,5 KB . Setelah berhasil didownload, ekstrak dan uploadlah semua folder dari dabr ke dalam hostingan.
3. Rename
4. Registrasikan aplikasi Twitter Client kita ke dalam Twitter Apps.
config-sample.php
menjadi config.php
4. Registrasikan aplikasi Twitter Client kita ke dalam Twitter Apps.
Cara registrasi dengan mengisi form yang berada di http://twitter.com/apps(sebelumnya kita harus Login twitter agar bisa mengaksesnya). Yang perlu diperhatikan dalam isian form tersebut adalah Application icon : masukkan gambar yang akan menjadi icon twitter client kita; Application name : isikan nama Twitter Client kita; Application Type : pilih Browser, karena kita nanti akan membuat yang versi Web;Callback URL : isikan dengan alamat URL Dabr yang sudah kita upload ke hostingan tadi, tambahkan oauth (misal : http://mashendri.info/dabr/oauth/); Default Access type : silakan pilih yang Read & Write; Use Twitter for login : kasih cek pada “Yes, use Twitter for login”.
4. Selanjutnya kita akan mendapatkan beberapa Key. Perhatikan Consumer Key dan Consumer Secretnya.
5. Masuk ke hostingan kita, Edit di bagian
5. Masuk ke hostingan kita, Edit di bagian
config.php
// Cookie encryption key. Max 52 characters
define('ENCRYPTION_KEY', 'Example Key - Change Me!');
// OAuth consumer and secret keys. Available from http://twitter.com/oauth_clients
define('OAUTH_CONSUMER_KEY', 'masukkan Consumer Key di Sini');
define('OAUTH_CONSUMER_SECRET', 'masukkan Consumer Secret di Sini');
ganti semua yang di .htaccess dengan kode ini :
# URL rewriting
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
# 1 week cache
Header set Cache-Control "max-age=604800, public"
Dan, satu lagi yang paling penting, kalau RTan tuh kan panjang sampai - malahan, nah untuk gak error gunakan Script ini di /public_html/common/twitter.php original by @andrepunya
taruh script di bawah sesudah : if ($status) {
atau sebelum : $request = API_URL.'statuses/update.json';
Ini codenya
if
(mb_strlen(
$status
,
'utf-8'
) > 140) {
$header
=
array
(
'X-Verify-Credentials-Authorization: OAuth realm="http://api.twitter.com/"'
);
require_once
(
'OAuth.php'
);
$consumer
=
new
OAuthConsumer(OAUTH_CONSUMER_KEY, OAUTH_CONSUMER_SECRET);
$sha1_method
=
new
OAuthSignatureMethod_HMAC_SHA1();
list(
$oauth_token
,
$oauth_token_secret
) =
explode
(
'|'
,
$GLOBALS
[
'user'
][
'password'
]);
$token
=
new
OAuthConsumer(
$oauth_token
,
$oauth_token_secret
);
$request
= OAuthRequest::from_consumer_and_token(
$consumer
,
$token
,
'GET'
,
$signingURL
,
array
());
$request
->sign_request(
$sha1_method
,
$consumer
,
$token
);
$header
[1] .=
", oauth_consumer_key=\""
.
$request
->get_parameter(
'oauth_consumer_key'
) .
"\""
;
$header
[1] .=
", oauth_signature_method=\""
.
$request
->get_parameter(
'oauth_signature_method'
) .
"\""
;
$header
[1] .=
", oauth_token=\""
.
$request
->get_parameter(
'oauth_token'
) .
"\""
;
$header
[1] .=
", oauth_timestamp=\""
.
$request
->get_parameter(
'oauth_timestamp'
) .
"\""
;
$header
[1] .=
", oauth_nonce=\""
.
$request
->get_parameter(
'oauth_nonce'
) .
"\""
;
$header
[1] .=
", oauth_version=\""
.
$request
->get_parameter(
'oauth_version'
) .
"\""
;
$header
[1] .=
", oauth_signature=\""
. urlencode(
$request
->get_parameter(
'oauth_signature'
)) .
"\""
;
$contents
=
array
(
'text'
=>urlencode(
$status
),
'api_key'
=>
'WL_H52m239dvsd'
,
'format'
=>
'json'
);
foreach
(
$contents
as
$key
=>
$value
) {
$fields
.=
$key
.
'='
.
$value
.
'&'
;
}
$ch
= curl_init();
curl_setopt(
$ch
, CURLOPT_HTTPHEADER,
$header
);
curl_setopt(
$ch
, CURLOPT_URL,
$longtweetlink
);
curl_setopt(
$ch
, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt(
$ch
, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt(
$ch
, CURLOPT_POST, true);
curl_setopt(
$ch
, CURLOPT_POSTFIELDS,
$fields
);
$respond
= curl_exec(
$ch
);
$response_info
= curl_getinfo(
$ch
);
curl_close(
$ch
);
$result
= json_decode(
$respond
);
$status
=
$result
->text;
}
6. Selesai, coba jalankan Twitter Client kita, misalkan http://twitter.4rtblog.com
Jika benar ketika kita update status maka akan terlihat bahwa kita update melalui nama aplikasi Twitter Client kita. Jika kurang berhasil biasanya masih bertuliskan via Dabr. . Keep Trial and Error !