Tạo twitter widget sử dụng PHP
Như các bạn đã biết thì Twitter là một mạng xã hội khá nổi tiếng như Facebook, Google, LinkedIn và càng ngày càng có nhiều người tham gia. Khi sử dụng twitter thì bạn có thể follow theo một ai đó, hoặc thích một feed của ai đó. Trong bài viết này mình sẽ hướng dẫn các bạn làm thế nào để xây dựng ...
Như các bạn đã biết thì Twitter là một mạng xã hội khá nổi tiếng như Facebook, Google, LinkedIn và càng ngày càng có nhiều người tham gia. Khi sử dụng twitter thì bạn có thể follow theo một ai đó, hoặc thích một feed của ai đó. Trong bài viết này mình sẽ hướng dẫn các bạn làm thế nào để xây dựng một widget để nhúng vào website và wiget này sẽ lấy về những feeds mới nhất mà bạn vừa với share nên trang twitter của bạn.
Để có thể giao tiếp với các mạng xã hội như Facebook, Google và Twitter thông thường chỉ có thể thông qua ứng dụng của bạn được tạo trên hệ thống đó.Sau khi bạn khởi tạo ứng dụng và xác thực ứng dung của bạn thành công thì thường các MXH nói chung và Twitter nói riêng sẽ cũng cấp cho bạn một số Key(API Key và API Secret) được sử dụng để xác thực ứng dụng của bạn qua đó Twiter cho phép bạn sử dụng một số API có sẵn để lấy về những dữ liệu mình mong muốn.
Bước 1: Tạo ứng dụng.
Bạn vui lòng truy cập vào đường link sau https://apps.twitter.com/ để bắt đầu tạo một ứng dụng trong Twitter.
Bước 2: Lấy KEY(Keys and Access Tokens)
Sau khi tạo ứng dụng thành công thì Twitter sẽ cung cấp cho bạn một số KEY. Trong tầm vực của chức năng này bạn chỉ cần quan tâm tới các KEY sau.
- Consumer Key (API Key).
- Consumer Secret (API Secret)
- Access Token.
- Access Token Secret
Để có thể xác thực(Authentication) thành công với twitter. Chúng ta sẽ sử dụng thư viện PHP TwitterOAuth. Thư viện này cho phép chúng ta xác thực và lấy dữ liệu cần thiết thông qua ứng dụng bạn vừa tạo.
Bước 3: Thực hiện việc viết code và một số điểm đáng lưu ý.
Đầu tiên bạn cần phải required thư viện TwitterOAuth.
require_once("twitteroauth/twitteroauth.php");
Tiếp đo là bạn phải định nghĩa các thông số được sử dụng để ứng dụng cảu bạn.
$consumerKey = ""; $consumerSecret = ""; $accessToken = "; $accessTokenSecret = "";
Mọi thứ đã đầy đủ chúng ta bắt tay vào xây dựng code nào :)
function makeLink($text){ $text = preg_replace("~[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]~",'<a target="_blank" href="$0">$0</a>',$text); return $text; } // Include library require_once("twitteroauth/twitteroauth.php"); $twitterID = 'vanthiembui'; // Twitter ID $tweetNum = 15; // Số tweet bạn cần lấy $consumerKey = ""; $consumerSecret = ""; $accessToken = ""; $accessTokenSecret = ""; if($twitterID && $consumerKey && $consumerSecret && $accessToken && $accessTokenSecret) { //Xác thực với twitter $twitterConnection = new TwitterOAuth( $consumerKey, $consumerSecret, $accessToken, $accessTokenSecret ); //Get timeline feeds $twitterData = $twitterConnection->get( 'statuses/user_timeline',array( 'screen_name' => $twitterID, 'count' => $tweetNum, 'exclude_replies' => false ) ); ?> <div class="tweet-box"> <h1>Tweets</h1> <div class="tweets-widget"> <ul class="tweet-list"> <?php if(!empty($twitterData)){ foreach($twitterData as $tweet){ ?> <li class="tweet-wrapper"> <div class="tweet-thumb"> <span class="had-thumb"> <a href="<?php echo $tweet->user->url; ?>" title="<?php echo $tweet->user->name; ?>"> <img alt="" src="<?php echo $tweet->user->profile_image_url; ?>"> </a> </span> </div> <div class="tweet-content"> <h3 class="title" title="<?php echo $tweet->text; ?>"><?php echo makeLink($tweet->text); ?></h3> <span class="meta"><?php echo date("D M d H:i:s",strtotime($tweet->created_at)); ?> - <span> <span class="dsq-postid" rel="8286 http://www.techandall.com/?p=8286"><?php echo $tweet->favorite_count; ?> Favorite</span></span></span> </div> </li> <? } }else{ echo '<li class="tweet-wrapper">Chưa có Tweets nào.</li>'; } ?> </ul> </div> </div> <?php }else{ echo 'Không thể xác thực ứng dụng'; } ?>
Tổng kết.
Như vậy mình đã trình bày xong cách tạo một widget twitter sử dụng PHP để lấy về những feeds mới nhất của một twitter ID nào đó. Hy vọng bài viết này có ích với các bạn. Hiện này cũng có một số JQuery Plugin cho phép bạn làm việc này e.g Tweetie,...vv