]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
- Implement statusesHomeTimeline() in TwitterBasicAuthClient
authorZach Copley <zach@status.net>
Thu, 27 May 2010 18:21:52 +0000 (11:21 -0700)
committerZach Copley <zach@status.net>
Thu, 27 May 2010 18:21:52 +0000 (11:21 -0700)
- Make TwitterStatusFetcher pull home_timeline (includes retweets) instead of friends_timeline

plugins/TwitterBridge/daemons/twitterstatusfetcher.php
plugins/TwitterBridge/twitterbasicauthclient.php
plugins/TwitterBridge/twitteroauthclient.php

index 7c624fdb3bacc605f823f847611fc943dff32b96..03a4bd3f34135f1c16f059c2cd22c6c44f7ae9e6 100755 (executable)
@@ -186,7 +186,7 @@ class TwitterStatusFetcher extends ParallelizingDaemon
         $timeline = null;
 
         try {
-            $timeline = $client->statusesFriendsTimeline();
+            $timeline = $client->statusesHomeTimeline();
         } catch (Exception $e) {
             common_log(LOG_WARNING, $this->name() .
                        ' - Twitter client unable to get friends timeline for user ' .
index 2c18c94695619ef2ad37cbd648cc157962e7f796..cc68b5010077c4d61585c0c90b5e07ddaa584edc 100644 (file)
@@ -2,7 +2,7 @@
 /**
  * StatusNet, the distributed open-source microblogging tool
  *
- * Class for doing OAuth calls against Twitter
+ * Class for doing HTTP basic auth calls against Twitter
  *
  * PHP version 5
  *
@@ -125,6 +125,35 @@ class TwitterBasicAuthClient
         return $statuses;
     }
 
+    /**
+     * Calls Twitter's /statuses/home_timeline API method
+     *
+     * @param int $since_id show statuses after this id
+     * @param int $max_id   show statuses before this id
+     * @param int $cnt      number of statuses to show
+     * @param int $page     page number
+     *
+     * @return mixed an array of statuses similar to friends timeline but including retweets
+     */
+    function statusesFriendsTimeline($since_id = null, $max_id = null,
+                                     $cnt = null, $page = null)
+    {
+        $url    = 'https://twitter.com/statuses/home_timeline.json';
+        $params = array('since_id' => $since_id,
+                        'max_id' => $max_id,
+                        'count' => $cnt,
+                        'page' => $page);
+        $qry    = http_build_query($params);
+
+        if (!empty($qry)) {
+            $url .= "?$qry";
+        }
+
+        $response = $this->httpRequest($url);
+        $statuses = json_decode($response);
+        return $statuses;
+    }
+
     /**
      * Calls Twitter's /statuses/friends API method
      *
index 6b821ba181fc2306ac1a3d7988ca9f541e9a9006..f6ef786752eeca0acfb18d6ee2d871a429e7d82a 100644 (file)
@@ -225,7 +225,7 @@ class TwitterOAuthClient extends OAuthClient
      * @param int $cnt      number of statuses to show
      * @param int $page     page number
      *
-     * @return mixed an array of statuses, similare to friends_timeline, except including retweets
+     * @return mixed an array of statuses, similar to friends_timeline but including retweets
      */
     function statusesHomeTimeline($since_id = null, $max_id = null,
                                      $cnt = null, $page = null)