26

我一直使用这个地址来获取我所有的推文:

http://api.twitter.com/1/statuses/user_timeline.json?screen_name=enriquemoreno

但由于 API 1.1 已经过时并且 API 1 已被弃用,我想我会尝试改变。但是新地址不起作用:

http://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=enriquemoreno

我错过了什么?

4

2 回答 2

17

有人用香草 javascript 写了一个(聪明的)片段来获取 twitter 小部件:

/*********************************************************************
      #### Twitter Post Fetcher! ####
      Coded by Jason Mayes 2013.
      www.jasonmayes.com
      Please keep this disclaimer with my code if you use it. Thanks. :-)
      Got feedback or questions, ask here: http://goo.gl/JinwJ
    *********************************************************************/
    var twitterFetcher=function(){var d=null;return{fetch:function(a,b){d=b;var c=document.createElement("script");c.type="text/javascript";c.src="http://cdn.syndication.twimg.com/widgets/timelines/"+a+"?&lang=en&callback=twitterFetcher.callback&suppress_response_codes=true&rnd="+Math.random();document.getElementsByTagName("head")[0].appendChild(c)},callback:function(a){var b=document.createElement("div");b.innerHTML=a.body;a=b.getElementsByClassName("e-entry-title");d(a)}}}();

    /*
    * ### HOW TO USE: ###
    * Create an ID:
    * Go to www.twitter.com and sign in as normal, go to your settings page.
    * Go to "Widgets" on the left hand side.
    * Create a new widget for "user timeline". Feel free to check "exclude replies"
    * if you dont want replies in results.
    * Now go back to settings page, and then go back to widgets page, you should
    * see the widget you just created. Click edit.
    * Now look at the URL in your web browser, you will see a long number like this:
    * 345735908357048478
    * Use this as your ID below instead!
    */

    twitterFetcher.fetch('345170787868762112', function(tweets){
      // Do what you want with your tweets here! For example:
      var x = tweets.length;
      var n = 0;
      var element = document.getElementById('tweets');
      var html = '<ul>';
      while(n < x) {
        if (tweets[n].innerText) {
          html += '<li>' + tweets[n].innerText + '</li>';
        } else {
          html += '<li>' + tweets[n].textContent + '</li>';
        }
        n++;
      }
      html += '</ul>';
      element.innerHTML = html;
    });

http://jsfiddle.net/jmayes/maT2Z/

不是最干净的方式,也许不是面向未来的,但目前唯一的解决方案(我知道)在没有 OAuth 和服务器端支持的情况下访问 twitter 数据。

于 2013-06-14T11:18:15.773 回答
2

这似乎是一个非常简单的授权和 php 实现:

http://profabbynucup.tumblr.com/post/53031776012/display-your-latest-twitter-feed-using-php-and-oauth

于 2013-06-26T04:09:00.993 回答