Warning: Use of undefined constant TWITTER_CONSUMER_KEY - assumed 'TWITTER_CONSUMER_KEY' (this will throw an Error in a future version of PHP) in /home/hikaruyu/public_html/wp-content/themes/hikaruyuuki/functions.php on line 9

Warning: Use of undefined constant TWITTER_CONSUMER_SECRET - assumed 'TWITTER_CONSUMER_SECRET' (this will throw an Error in a future version of PHP) in /home/hikaruyu/public_html/wp-content/themes/hikaruyuuki/functions.php on line 10

Warning: Use of undefined constant TWITTER_ACCESS_TOKEN - assumed 'TWITTER_ACCESS_TOKEN' (this will throw an Error in a future version of PHP) in /home/hikaruyu/public_html/wp-content/themes/hikaruyuuki/functions.php on line 11

Warning: Use of undefined constant TWITTER_ACCESS_TOKEN_SECRET - assumed 'TWITTER_ACCESS_TOKEN_SECRET' (this will throw an Error in a future version of PHP) in /home/hikaruyu/public_html/wp-content/themes/hikaruyuuki/functions.php on line 12

Warning: Use of undefined constant USE_COLLAPSIBLE - assumed 'USE_COLLAPSIBLE' (this will throw an Error in a future version of PHP) in /home/hikaruyu/public_html/wp-content/themes/hikaruyuuki/functions.php on line 14

Warning: Use of undefined constant USE_MULTILINGUAL - assumed 'USE_MULTILINGUAL' (this will throw an Error in a future version of PHP) in /home/hikaruyu/public_html/wp-content/themes/hikaruyuuki/functions.php on line 15

Warning: Use of undefined constant THEME_BODY_WIDTH - assumed 'THEME_BODY_WIDTH' (this will throw an Error in a future version of PHP) in /home/hikaruyu/public_html/wp-content/themes/hikaruyuuki/functions.php on line 16

Warning: Use of undefined constant THEME_COMMENT_THREADED - assumed 'THEME_COMMENT_THREADED' (this will throw an Error in a future version of PHP) in /home/hikaruyu/public_html/wp-content/themes/hikaruyuuki/functions.php on line 17

Warning: Use of undefined constant EDITOR_INLINE_STYLES - assumed 'EDITOR_INLINE_STYLES' (this will throw an Error in a future version of PHP) in /home/hikaruyu/public_html/wp-content/themes/hikaruyuuki/functions.php on line 18

Warning: Use of undefined constant SUPPORT_MENU - assumed 'SUPPORT_MENU' (this will throw an Error in a future version of PHP) in /home/hikaruyu/public_html/wp-content/themes/hikaruyuuki/functions.php on line 19

Warning: Use of undefined constant SUPPORT_THUMBNAIL - assumed 'SUPPORT_THUMBNAIL' (this will throw an Error in a future version of PHP) in /home/hikaruyu/public_html/wp-content/themes/hikaruyuuki/functions.php on line 20

Warning: Use of undefined constant THUMBNAIL_WIDTH - assumed 'THUMBNAIL_WIDTH' (this will throw an Error in a future version of PHP) in /home/hikaruyu/public_html/wp-content/themes/hikaruyuuki/functions.php on line 21

Warning: Use of undefined constant THUMBNAIL_HEIGHT - assumed 'THUMBNAIL_HEIGHT' (this will throw an Error in a future version of PHP) in /home/hikaruyu/public_html/wp-content/themes/hikaruyuuki/functions.php on line 22

Warning: Use of undefined constant DISABLE_PINGTRACKBACK - assumed 'DISABLE_PINGTRACKBACK' (this will throw an Error in a future version of PHP) in /home/hikaruyu/public_html/wp-content/themes/hikaruyuuki/functions.php on line 24
Ambil Status (User Timeline) dari Twitter | Hikaru {Aka} Yuuki のブログ
Warning: Use of undefined constant php - assumed 'php' (this will throw an Error in a future version of PHP) in /home/hikaruyu/public_html/wp-content/themes/hikaruyuuki/header.php on line 9

Warning: Use of undefined constant php - assumed 'php' (this will throw an Error in a future version of PHP) in /home/hikaruyu/public_html/wp-content/themes/hikaruyuuki/header.php on line 25
 


Ambil Status (User Timeline) dari Twitter

Posted in: Pemrograman,Website & Blog |

This post is also available in: English

Twitter dengan OAuth

This post is also available in: English

Baru saja mengecek ke home page web ini ternyata status Twitter tidak ditampilkan lagi. Hal ini dikarenakan Twitter tidak lagi memberikan ijin untuk mengakses langsung RSS dari status saya (user timeline), lagipula karena saya juga mengeset protect my tweets untuk tweets baru. Sebelumnya dengan mudah saya tinggal mem-fetch RSS dari alamat URL

http://twitter.com/statuses/user_timeline/[user name].rss

menggunakan fungsi fetch_feed pada WordPress (yang menggunakan SimplePie) dan otomatis di-parsing sehingga mudah untuk mereproduksi hasil RSS user timeline tersebut. Tapi berhubung sekarang Twitter menggunakan OAuth untuk otentikasinya, jadi saya harus mengotak-atik sedikit kode untuk mem-fetch user timeline Twitter. Sebelumnya untuk memulai ada baiknya membaca dari Get Started API Twitter. Untuk mengetahui apa yang harus dilakukan terutama yang berhubungan dengan OAuth dan API dari Twitter. Ya, kita persingkat saja.

  1. Kita meregistrasi dulu aplikasi (web) yang digunakan untuk mengakses Twitter melalui alamat disini.Isi semua field yang harus diisi (name, description, dll) dan yang harus diperhatikan adalah:
    • Application Website: [alamat yang digunakan untuk mengakses atau tempat kita menaruh aplikasi untuk mengakses Twitter]
    • Application Type: Browser (karena saya menggunakan web bukan desktop client)
    • Callback URL: [alamat yang digunakan untuk mengakses Twitter]kalau punya saya Callback URL: http://www.hikaruyuuki.com/
    • Default Access type: Read & Write

    Bila sudah selesai dan akan menyimpan, kita harus menekan tombol I Accept untuk menerima TOS (Terms of Service) dari Twitter.

  2. Setelah tersimpan maka kita akan dihadapkan dengan halaman Application Details yang berisi OAuth Settings. Catat setingan berikut ini (misal copy-pastedi Notepad) :
    • Consumer Key
    • Consumer secret

    Kemudian cari My Access Token di sidebar sebelah kanan dan klik sehingga muncul halaman OAuth 1.0a access token (bersifat rahasia dan jangan sampai bocor) Catat setingan berikut ini (misal copy-paste di Notepad) :

    • Access Token (oauth_token)
    • Access Token Secret (oauth_token_secret)

    Empat settingan di atas inilah yang digunakan sebagai otentikasi OAuth di Twitter lewat aplikasi/web kita.

  3. Download kode PHP untuk OAuth dan TwitterOAuth dari sini.
  4. Upload ke web kita, misal di root directory.
  5. Untuk kode PHP nya karena saya menggunakan WordPress mungkin perlu ada penyesuaian bila diimplemetasikan di framework/bahasa lain:
    <?php
    require_once './twitteroauth.php';
    
    $twitteroauth = new TwitterOAuth(TWITTER_CONSUMER_KEY, TWITTER_CONSUMER_SECRET, TWITTER_ACCESS_TOKEN, TWITTER_ACCESS_TOKEN_SECRET);
    
    $twitteroauth->format = 'rss';
    $user_timeline = $twitteroauth->get('statuses/user_timeline');
    ?>
    
    <h2 id="latest-twitter"><?php _e('Latest <span>On</span> Twitter'); ?></h2>
    <?php // Get RSS Feed(s)
    include_once(ABSPATH . WPINC . '/feed.php');
    
    // Get a SimplePie feed object from the specified feed source.
    $rss = new SimplePie();
    $rss->set_raw_data($user_timeline);
    $rss->init();
    $rss->handle_content_type();
    
    if (!is_wp_error( $rss ) ) : // Checks that the object is created correctly
     // Figure out how many total items there are, but limit it to 5.
     $maxitems = $rss->get_item_quantity(3);
    
     // Build an array of all the items, starting with element 0 (first element).
     $rss_items = $rss->get_items(0, $maxitems);
    endif;
    ?>
    
    <ul>
     <?php if ($maxitems == 0) echo '<li>No items.</li>';
     else
     // Loop through each feed item and display each item as a hyperlink.
     foreach ( $rss_items as $item ) : ?>
     <li>
     <time title="<?php echo $item->get_date('c');?>" datetime="<?php echo $item->get_date('c');?>">
     <strong><?php echo $item->get_date('M');?></strong>
     <br />
     <?php echo $item->get_date('j');?>
     </time>
     <h3 title="<?php echo 'Posted '.$item->get_date('j F Y | g:i a'); ?>">
     <?php echo processLinks($item->get_title()); ?>
     </h3>
     </li>
    <?php endforeach; ?>

Selain untuk mengambil status, kita juga bisa mengupdate status, melihat direct message, mentions, friends, dll. Untuk lebih lengkapnya bisa dilihat dan dicoba-coba sendiri melalui Twurl Console. Selamat mencoba!




Speak Up!

Leave your own comment

KESALAHAN: plugin si-captcha.php mengatakan bahwa dukungan GD image tidak terdeteksi di PHP!

Hubungi hosting situs anda dan tanyakan mereka mengapa dukungan GD image tidak diaktifkan untuk PHP.

KESALAHAN: plugin si-captcha.php mengatakan bahwa fungsi imagepng tidak terdeteksi di PHP!

Hubungai hosting situs Anda dan tanyakan mereka mengapa fungsi imagepng tidak diaktifkan di PHP.

Notify me of follow-up comments via e-mail (or subscribe here).




 

Share

Subscribe Feed

Email

Facebook

Twitter

Delicious

Digg

StumbleUpon

Google Buzz

Deviantart



Warning: Use of undefined constant scripts - assumed 'scripts' (this will throw an Error in a future version of PHP) in /home/hikaruyu/public_html/wp-content/themes/hikaruyuuki/library/functions/scripts.php on line 50