micmania1/sstwitter

此包的最新版本(1.1.4)没有可用的许可证信息。

一个Silverstripe模块,用于将Silverstripe与Twitter集成

安装: 90

依赖: 0

建议者: 0

安全: 0

星标: 10

关注者: 3

分支: 5

开放性问题: 8

类型:silverstripe-module

1.1.4 2013-12-15 21:29 UTC

This package is auto-updated.

Last update: 2024-08-24 13:08:34 UTC


README

SSTwitter是一个Silverstripe模块,允许Twitter与Silverstripe之间进行简单的集成。

功能

  • CMS界面,用于将Silverstripe与Twitter应用程序集成并连接到网站。
  • 连接/断开成员与Twitter账户。
  • 通过CMS启用/禁用Twitter登录。
  • 通过PHPTwitter提供开发者访问Twitter API。

用法

$TwitterConnectURL (TwitterApp::connect_url()) 这将显示一个链接,登录用户将通过Twitter身份验证过程连接他们的Twitter账户。

$TwitterDisconnectURL (TwitterApp::disconnect_url()) 这将断开Twitter账户与成员之间的关系。

$TwitterLoginURL (TwitterApp::login_url()) 这将返回一个URL,用户可以通过Twitter登录到他们的Silverstripe账户。

<a href="$TwitterConnectURL">Connect</a><br />
<a href="$TwitterDisconnectURL">Disconnect</a><br />
<% if TwitterLoginURL %>
	<a href="$TwitterLoginURL">Login</a>
<% else %>
	Twitter Login is disabled.
<% end_if %>

扩展

SSTwitter使用PHPTwitter进行Twitter身份验证,它有一个中心的Twitter->api()方法,处理所有API请求。这意味着你可以轻松利用其功能直接与Twitter交互。以下是如何获取连接到您网站的账户最新推文的示例。

在 Page_Controller.php 中

public function LatestTweets($count = 3) {

	$tweets = new ArrayList();

    $twitterApp = TwitterApp::get()->first();
	$twitter = $twitterApp->getTwitter(); // Access the PHPTwitter interface
	$twitter->setAccess(new OauthToken($twitterApp->TwitterAccessToken, $twitterApp->TwitterAccessSecret));

	// Get the latest Tweets
	if($twitter->hasAccess()) {
	    $result = $twitter->api("1.1/statuses/user_timeline.json", "GET", array(
	        "screen_name" => $twitterApp->TwitterScreenName,
	        "count" => (int) $count
	    ));
	    
	    if($result->statusCode() == 200) {
	    	$json = json_decode($result->body(), true);
	    	if(count($json) > 0) {
	    		foreach($json as $tweet) {
	    			$tweets->push(ArrayData::create(array(
	    				"Tweet" => $tweet['text'],
	    				"Created" => $tweet['created_at'],
	    				"Link" => "http://www.twitter.com/".rawurlencode($tweet['user']['screen_name'])."/status/".rawurlencode($tweet['id_str'])
	    			)));
	    		}
	    	}
	    }
	}
	return $tweets;
}

在 Page.ss 中

<% if LatestTweets %>
	<ul>
		<% loop LatestTweets %>
			<li>$Tweet - <a href="$Link">$Created</a></li>
		<% end_loop %>
	</ul>
<% end_if %>