需要简单的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&count=1"></script>
<div style="float:left;"><a href="https://twitter.com/companytwitterhandle" target="_blank">@companytwitterhandle</a> | </div>
<div class="twitterimg"> </div>
</div>
最初,我尝试像这样更改JavaScript参考URL中的版本,但没有工作。
<script type="text/javascript" src="http://api.twitter.com/1.1/statuses/user_timeline/companytwitterhandle.json?callback=twitterCallback2&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&count=1"></script>
这行不通。
使用jQuery或c# ASP. NET MVC,我如何将该接口从Twitter API 1.0过渡到Twitter API 1.1?如果可能的话,我的首选是浏览器客户端实现。请包括一个代码示例。谢谢。
我是这样做的:
请在这里查看我的问题和答案:
使用Twitter API 1.1 oAuth验证和请求用户的时间轴
使用上述解决方案并将json
渲染回页面,将其存储在名为json
的变量中。
放置jQuery
和twitter-text js库的引用;
https://github.com/twitter/twitter-text-js
添加div
与id
或结果到您的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