Cara Membuat Koneksi Ke Twitter Menggunakan OAuth dan PHP

index.php

<?php

session_start ();
require_once ('twitteroauth/twitteroauth.php');
require_once ('config.php');

/* If access tokens are not available redirect to connect page. */
if (empty ($_SESSION['access_token']) || empty ($_SESSION['access_token']['oauth_token']) || empty ($_SESSION['access_token']['oauth_token_secret'])) {
    //header('Location: ./clearsessions.php');
	//tampilkan link OAuth
?>
<a href="./redirect.php"><img src="./images/lighter.png" alt="Sign in with Twitter"/></a>
<?php
}
else
{
	//wah, sudah berhasil tersambung nih. Lakukan proses disini
	$access_token = $_SESSION['access_token'];

	$connection = new TwitterOAuth (CONSUMER_KEY, CONSUMER_SECRET, $access_token['oauth_token'], $access_token['oauth_token_secret']);

	$content = $connection->get ('account/verify_credentials');
	
	var_dump ($content);
}

Kode dibuka dengan inisialisasi sesi dan include (require_once()) class yang dibutuhkan serta configurasi OAuth.

session_start();
require_once('twitteroauth/twitteroauth.php');
require_once('config.php');

Dilanjutkan dengan pengecekan session terhadap index access_token yang penggunaannya akan dijelaskan nanti dibagian callback.

if (empty($_SESSION['access_token']) || empty($_SESSION['access_token']['oauth_token']) || empty($_SESSION['access_token']['oauth_token_secret'])) {

Bila index session access_token tidak ada, kita tampilkan link untuk redirect ke twitter. Bila ada, lakukan yang ingin dilakukan dengan twitter.

Untuk apa yang dilakukan di file ini, akan dijelaskan nanti setelah selesai penjelasan soal callback. Sabar ya ;).

Berikutnya kita akan membahas script redirect ke OAuth twitter.

Author: Arief Bayu Purwanto

Hello, my name is Arief Bayu Purwanto, a 24 years old father of a beautiful daughter. Interested in online programming, linux, games, and reading. Currently working on kapanlagi.com as junior developer. I live in a relatively quite and cool place called Malang. I'm available for some freelance stuff as well as some consulting job. You can see my portofolio for some previous task I've finished and some other information related to my capability. Btw, I'm plurking here.

  • maaf nih bos mau tanya.. klo buat itu kan di host yach ?? nah kan di root directory udah ada tuh config.php index.php ddl
    apakah kita buatnya di subdomain gitu ??
    terimakasih sebelumnya

    • Iya, ini mesti di host. Bisa sih, di komputer lokal, dengan catatan, punya IP publik.

      Untuk penempatan scriptnya sendiri, terserah ente aja sih sebenarnya, bisa mengubah index.php yang ada atau membuat subdirektori maupun subdomain baru.

      Kode2 diatas ini kan tujuannya untuk mendapatkan informasi oauth dari pengguna. Sedangkan pemakaian oauth itu sendiri tidak harus di index.php.

      Untuk config.php sendiri, itu kan hanya informasi dari aplikasi twitter anda yang bisa digabung ke config.php yang sudah dimiliki saat ini.

      • Safarsul

        ┬áMAS mau nanya saya sudah bisa koneksinya tapi saya belum bisa memasukkan databasenya…

  • Darmawan Reza

    kalo seandainya aplikasi kita local gimana ya??apa bisa gan??

    • Seharusnya bisa, dengan catatan, komputer lokal kamu ada IP publik-nya.

  • Yoga_man01

    eh numpang nanya dong, klo maksd yg di bawah ini apa ya maksdnya??

    Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/statanet/domains/statusvia.net/public_html/twitter/apps/index.php on line 18

    Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/statanet/domains/statusvia.net/public_html/twitter/apps/common/theme.php on line 144

    saya ga ngerti nih, mksih,

    • Kalau dari error itu sih, kemungkinan ada masalah di query, atau di variable yang digunakan di input mysql_fetch_assoc().

  • goblok

    mastah, mau tanya donk, saya pake ubuntu 10.10, apache+php+mysql+phpmyadmin sudah jalan. Tapi kenapa setiap saya bikin code untuk dikoneksikan kedatabase selalu error, forbidden, atau bahkan tidak muncul, apa2 sama sekali. Apakah kita harus setting php.ini untuk mysql dan mysqli, bagaimana settingan php.ini yg sangat valid untuk web developer di linux
    Terima Kasih

    • Passwordnya sudah bener belum?
      Kalau phpmyadmin bisa konek, berarti masalahnya ada di kode phpmu, bukan setting php.ini

  • Dhyaudha

    “Harus sesuai dengan dimana aplikasi anda diinstall.”
    saya bingung justru bagaimana menginstall alamat website-nya.

  • Zaki Penulis

    mas, saya sudah sukses implement. hasil ada bentuk array saja.
    Contoh pengolahan array ada tidak?

  • Abdur rahimi

    gan kenapa ya saya selalu gagal dalam mengedit twitter oauth?? yg mana saja yg harus kita edit?? jika saya menggunkannnya selalu saja keluar tulisan refresh page or try again latter?? apa itu yg salah ya??

  • Nunu G’Bolee CiWekz

    udah ngikutin step2 di atas sampe selesai tp kok mlh cuma tampil kyk gini ? untuk codingnya ada yg ditambah lg ga? aku udah ngikutin dan yg diganti paling hanya config nya saja

  • botskip

    sam saya mencoba tpi mengalami eror di index.php errorx seperti berikut
    Warning: require_once(twitteroauth/twitteroauth.php) [function.require-once]: failed to open stream: No such file or directory in C:xampphtdocstwitter_oauthindex.php on line 4

    Fatal error: require_once() [function.require]: Failed opening required ‘twitteroauth/twitteroauth.php’ (include_path=’.;C:xamppphpPEAR’) in C:xampphtdocstwitter_oauthindex.php on line

  • Nabilah Hannani

    mas, kalau ada error begini Fatal error: Class ‘TwitterOAuth’ not found in C:xampphtdocsTwitterfileredirect.php on line 13 , cara ngatasin nya gmn ? makasih

  • spasi al

    cara mendapatkan email addressnya bagaimana ya? ?di data yang di terima tidak ada email address.