micmania1 / sstwitter
此包的最新版本(1.1.4)没有可用的许可证信息。
一个Silverstripe模块,用于将Silverstripe与Twitter集成
1.1.4
2013-12-15 21:29 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 %>