8

随着 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 个小时的时间来深入研究这个问题,或者这个凌乱的常见问题解答 ( 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?如果可能的话,我的首选是浏览器客户端实现。请包括一个代码示例。谢谢。

4

3 回答 3

0

好的,我收到了一位同事的答复,他不得不在我的公司进行类似的更改。这是编码的解决方案。他从我们签约的一家公司收到了这个消息,该公司为我们构建了一个带有 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 句柄或我们的公司有关。我不知道它是如何生成的。

如前所述,一家签约公司为我们编写了该代码,所以我不会试图解释它的作用。

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

希望这会帮助一些正在迁移到 Twitter 1.1 的人。谢谢。

于 2013-06-13T22:07:36.323 回答
0

我就是这样做的:

请在此处查看我的问题和答案:

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

使用上述解决方案并将页面渲染json到页面,将其存储在名为json.

引用jQuerytwitter-text js 库;

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

div带有id或结果的 a 添加到您的 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) {
                }
            }
于 2013-06-14T11:42:11.477 回答
-1

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

http://goo.gl/JinwJ

于 2013-06-14T16:04:45.200 回答