需要简单的Twitter API v1.1示例来显示使用jQuery或c# ASP.NET的时间轴

本文关键字:jQuery ASP 时间 NET 显示 Twitter 简单 API v1 | 更新日期: 2023-09-27 18:18:31

随着Twitter在2013年6月11日关闭API 1.0水龙头,我们有几个网站现在无法显示时间轴。我一直在寻找一个"如果你做了那个,现在做这个"的例子。以下是Twitter的声明。https://dev.twitter.com/blog/api-v1-is-retired

这是我们最初通过API 1.0显示Twitter时间轴的做法。

<div id="twitter">
    <ul id="twitter_update_list"></ul>
    <script type="text/javascript" src="http://twitter.com/javascripts/blogger.js"></script>
    <script type="text/javascript" src="http://api.twitter.com/1/statuses/user_timeline/companytwitterhandle.json?callback=twitterCallback2&amp;count=1"></script>
    <div style="float:left;"><a href="https://twitter.com/companytwitterhandle" target="_blank">@companytwitterhandle</a> | </div>
    <div class="twitterimg">&nbsp;</div>
</div>

最初,我尝试像这样更改JavaScript参考URL中的版本,但没有工作。

<script type="text/javascript" src="http://api.twitter.com/1.1/statuses/user_timeline/companytwitterhandle.json?callback=twitterCallback2&amp;count=1"></script>

然后我查看了Twitter API文档(https://dev.twitter.com/docs/api/1.1/overview),其中缺少一个清晰的转换示例。我没有4到5个小时的时间来钻研这个问题,或者这个杂乱的FAQ (https://dev.twitter.com/docs/faq#17750)。

然后我找到了这个关于用户时间轴的API文档。所以我再次更改了URL,如下所示。https://dev.twitter.com/docs/api/1.1/get/statuses/user_timeline

<script type="text/javascript" src="https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=companytwitterhandle&amp;count=1"></script>

这行不通。

使用jQuery或c# ASP. NET MVC,我如何将该接口从Twitter API 1.0过渡到Twitter API 1.1?如果可能的话,我的首选是浏览器客户端实现。请包括一个代码示例。谢谢。

需要简单的Twitter API v1.1示例来显示使用jQuery或c# ASP.NET的时间轴

我是这样做的:

请在这里查看我的问题和答案:

使用Twitter API 1.1 oAuth验证和请求用户的时间轴

使用上述解决方案并将json渲染回页面,将其存储在名为json的变量中。

放置jQuery和twitter-text js库的引用;

https://github.com/twitter/twitter-text-js

添加divid或结果到您的aspx:

 <div id="results"></div> 

你可以用下面的javascript来渲染内容:

for (var i = 0; i < json.length; i++) {
                $("#results").append('<div class="tweet"><p><span><strong> - ' + json[i].created_at.substring(0, 16) + '</span></strong></span><br/>' + twttr.txt.autoLink(json[i].text) + '</p>');
                try {
                    for (var j = 0; j < json[i].entities.media.length; j++) {
                        $("#results").append('<a href="' + json[i].entities.media[j].media_url + '"><img src="' + json[i].entities.media[j].media_url + ':thumb" /></a>');
                    }
                } catch(e) {
                }
            }

好的,我收到了一个同事的回复,他不得不在我的公司做出类似的改变。这是编码的解决方案。他从我们签约的一家公司那里收到了这封信,该公司为我们建立了一个带有Twitter时间轴的新界面。

<a class="twitter-timeline" href="https://twitter.com/companytwitterhandle" data-widget-id="18DigitMagicNumber" data-chrome="nofooter transparent noscrollbar noheader noborders"  data-tweet-limit="1" >Tweets by @@companytwitterhandle</a>
<script>!function (d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], p = /^http:/.test(d.location) ? 'http' : 'https'; if (!d.getElementById(id)) { js = d.createElement(s); js.id = id; js.src = p + "://platform.twitter.com/widgets.js"; fjs.parentNode.insertBefore(js, fjs); } }(document, "script", "twitter-wjs");</script>

您将在data-widget-id属性中看到18DigitMagicNumber。这个数字显然与我们的Twitter账号或我们的公司有关。我不知道这是怎么产生的

如前所述,这段代码是一家合同公司为我们编写的,所以我就不解释它的作用了。

我从一个网站剪切并粘贴到一个不相关的网站,它立即工作。我唯一改变的是删除实际的公司句柄和data-widget-id,并将单个@替换为@@,以便在MVC中进行转义。

希望这将帮助你们中的一些人也迁移到Twitter 1.1。谢谢。

创建一个仅JavaScript的解决方案,它可以在不使用新API的情况下在您的网站上获得Twitter帖子-样式由您决定-现在可以指定tweet的数量:

http://goo.gl/JinwJ