Instalasi Twitter API pada Codeigniter

Baik Twitter ataupun Facebook memegang peran penting saat ini untuk keperluan tertentu baik pada website, aplikasi desktop ataupun aplikasi mobile. Pada website, twitter digunakan untuk promosi, ataupun sekedar menyapa customer suatu perusahaan dan lain sebagainya. Untuk promosi, suatu website membuat fungsi khusus untuk bagaimana caranya si website dapat mengirimkan data-data promosi ke twitter secara langsung tanpa harus buka akun twitter.

Bagaimana caranya website dapat mengirimkan data-data promosi ke twitter secara langsung tanpa harus login akun twitter kita ?? Berikut penjelasan yang saya coba tulis pada artikel ini.

Pada Twitter, terdapat API untuk mengakses data-data nya secara langsung. Dokumentasinya dapat dilihat pada link ini. Lalu bagaimana cara konfigurasinya agar website dapat terkoneksi langsung dengan twitter pada Codeigniter ?

Sebelumnya, kita buat aplikasi terlebih dahulu pada twitter. Cara membuat aplikasi twitter dapat langsung pada link ini { https://dev.twitter.com/apps/new }.

Setelah kita membuat aplikasi, kita akan mendapatkan kunci, customer key lalu customer secret.

Setelah itu, kita download terlebih dahulu Class Twitter di php. Class Twitter yang saya gunakan ini dari Abraham, dapat di download pada link berikut { https://github.com/abraham/twitteroauth }

Baik, kita sekarang langsung buka Codeigniter. Buat file pada folder config application dengan nama twitter.php. Isikan code seperti dibawah ini.

1
2
$config['consumer_key'] = "kode customer key yg didapat dr twitter";
$config['consumer_secret']= "kode customer secret yg didapat dr twitter";

Lalu, Class Twitter dari Abraham yang kita download tadi, cari folder twitteroauth. Simpan pada libraries.

Jika sudah, sekarang buat file controller dengan nama twitter.php. Isikan kode seperti dibawah ini.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<?php
   
    class Twitter extends CI_Controller{
       
        function __construct() {
            parent::__construct();
           
      # load twitter config
           $this->load->config('twitter');
        }
       
        function login(){
      # include kan class twitter api
           include_once APPPATH.'libraries/twitteroauth/twitteroauth.php';
     
      # ambil customer key dan customer secret pada config file
           $consumer_key = $this->config->item('consumer_key');
            $consumer_secret = $this->config->item('consumer_secret');
           
      # buat objek untuk twitteroauth
           $oauth = new TwitterOAuth($consumer_key,$consumer_secret);
           
      # halaman callback untuk handle response dr twitter
           $callback = base_url() . 'twitter/callback';
           
      # request token
           $oauthRequest = $oauth->getRequestToken($callback);
           
      # simpan sementara data request token pada session
           $this->session->set_userdata("o_tok",$oauthRequest['oauth_token']);
            $this->session->set_userdata("o_tok_secret",$oauthRequest['oauth_token_secret']);
     
      # panggil halaman authorize twitter
           $registerUrl = $oauth->getAuthorizeURL($oauthRequest);
           
            redirect($registerUrl);
        }
       
        function callback(){
      # include kembali class twitter
           include_once APPPATH.'libraries/twitteroauth/twitteroauth.php';
     
      # include customer key dan customer secret twitter
           $consumer_key = $this->config->item('consumer_key');
            $consumer_secret = $this->config->item('consumer_secret');
     
      # ambil session dari token yang telah dibuat pada fungsi login
           $o_token = $this->session->userdata('o_tok');
            $o_token_secret = $this->session->userdata('o_tok_secret');

            # buat objek twitter oauth dengan customer key dan secret beserta token yang di dapat pada fungsi login
           $connection = new TwitterOAuth($consumer_key, $consumer_secret, $o_token, $o_token_secret);

            # dapatkan akses token dengan mengambil oauth_verifier
           $access_token = $connection->getAccessToken($_REQUEST['oauth_verifier']);
 
      # biasanya sy simpan data token, ID twitter, userid, screen name ke database
      # agar nanti tidak usah melakukan objek twitter kembali, tinggal panggil token yang tersimpan pada database
           $data_token = array(
                "twitter_id" => null,
                "o_token" => $access_token['oauth_token'],
                "o_token_secret" => $access_token['oauth_token_secret'],
                "user_id" => $access_token['user_id'],
                "screen_name" => $access_token['screen_name']
            );
           
            # berikut cara update status otomatis tanpa login
           $data = $connection->post('statuses/update', array('status' => "status dari twitter api")); */
     
     
      # lakukan proses penyimpanan data token, dll....
       }
    }

?>

Jika sudah, saat nya kita coba akses fungsi login dari controller twitter.

Pada koding diatas, hanya mendapatkan token dan update status twitter API. Untuk melakukan aksi lainnya seperti otomatis follow ID tertentu, atau mendapatkan data-data lainnya pada twitter user login dapat dibaca API twitter pada halaman berikut ini { https://dev.twitter.com/docs/api }

Sampai sini Instalasi Twitter API pada Codeigniter, semoga bermanfaat. πŸ™‚

10 comments

Leave a Reply

Your email address will not be published. Required fields are marked *

%d bloggers like this: