在网页上分享最后一条推文

时间:2010-01-12 10:41:06

标签: ruby-on-rails twitter

我有一个包含用户数据库的网站,我想允许他们在他们的个人资料页面上显示他们当前的推文消息(如果他们有Twitter帐户)。

搜索后,我看到了这个工具:http://juitter.com 对我的需求似乎有点复杂。

我正在使用Rails。你知道一个尽可能简单的工具吗?

谢谢 d

3 个答案:

答案 0 :(得分:4)

您可以查看twitter api:users/show

示例:

$ curl http://twitter.com/users/show/20536157.json
{"notifications":false,"time_zone":"Pacific Time (US &
Canada)","friends_count":214,
"profile_sidebar_border_color":"bbccff","url":"http://www.google.com/support/",
"description":"News and updates from Google","status":{"created_at":"Mon Jan
11 19:38:40 +0000
2010","source":"web","truncated":false,"favorited":false,
"in_reply_to_user_id":null,
"in_reply_to_status_id":null,"in_reply_to_screen_name":null,"id":7640306427,

"text":"If
you're interested in what's happening with @google in Sub-Saharan Africa,
check out the new @googleafrica for news &
info."},

"geo_enabled":false,"favourites_count":73, "created_at":"Tue Feb 10
19:14:39 +0000 2009","profile_text_color":"000000","verified":false,
...
}

您可以使用简单的jquery调用获取最后一条推文:

<!DOCTYPE html>
<html>
<head>
    <script src="http://www.google.com/jsapi"></script>
    <script>google.load("jquery", "1");</script>
    <script type="text/javascript" charset="utf-8">
        $(document).ready(function(){
            $.getJSON("http://twitter.com/users/show/20536157.json",
                function(data){ $("#tweet").text(data.status.text); });
        });
    </script>
</head>
<body>
    <div id="tweet"><!-- last status will show up here --></div>
</body>
</html>

答案 1 :(得分:0)

看看twitter宝石。它使用起来非常简单。

答案 2 :(得分:0)

mikus回答对我不起作用,我得到了

XMLHttpRequest无法加载http://twitter.com/users/show/ditact.json。 Access-Control-Allow-Origin不允许原点http://mydomain.com

我在Accessing JSON service from localhost or file://

中找到了答案

绕过相同原始策略的一种方法是加载JSONP而不是JSON。 您可以使用twitter API和jQuery执行此操作,您只需添加“callback =?”网址。

<!DOCTYPE html>
<html>
<head>
    <script src="http://www.google.com/jsapi"></script>
    <script>google.load("jquery", "1");</script>
    <script type="text/javascript" charset="utf-8">
        $(document).ready(function(){
                                                               // vvvvvvvvvvv
            $.getJSON("http://twitter.com/users/show/20536157.json?callback=?", 
                                                               // ^^^^^^^^^^^
                function(data){ $("#tweet").text(data.status.text); });
        });
    </script>
</head>
<body>
    <div id="tweet"><!-- last status will show up here --></div>
</body>
</html>