forked from GNUsocial/gnu-social
Make SyncTwitterFriends and TwitterStatusFetcher daemons use both HTTP Basic Auth as well as OAuth
This commit is contained in:
parent
36b6ef8d05
commit
36c104fb34
@ -22,7 +22,7 @@
|
||||
* @category Action
|
||||
* @package StatusNet
|
||||
* @author Zach Copley <zach@status.net>
|
||||
* @copyright 2008 StatusNet, Inc.
|
||||
* @copyright 2009 StatusNet, Inc.
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
@ -88,7 +88,7 @@ class TwitterBasicAuthClient
|
||||
$params = array('status' => $status,
|
||||
'source' => common_config('integration', 'source'),
|
||||
'in_reply_to_status_id' => $in_reply_to_status_id);
|
||||
$response = $this->httpRequest($url, $params, true);
|
||||
$response = $this->httpRequest($url, $params);
|
||||
$status = json_decode($response);
|
||||
return $status;
|
||||
}
|
||||
@ -117,7 +117,7 @@ class TwitterBasicAuthClient
|
||||
$url .= "?$qry";
|
||||
}
|
||||
|
||||
$response = $this->httpRequest($url, null, true);
|
||||
$response = $this->httpRequest($url);
|
||||
$statuses = json_decode($response);
|
||||
return $statuses;
|
||||
}
|
||||
@ -190,7 +190,7 @@ class TwitterBasicAuthClient
|
||||
*
|
||||
* @return mixed the request
|
||||
*/
|
||||
function httpRequest($url, $params = null, $auth = false)
|
||||
function httpRequest($url, $params = null, $auth = true)
|
||||
{
|
||||
$options = array(
|
||||
CURLOPT_RETURNTRANSFER => true,
|
||||
|
@ -22,7 +22,7 @@
|
||||
* @category Integration
|
||||
* @package StatusNet
|
||||
* @author Zach Copley <zach@status.net>
|
||||
* @copyright 2008 StatusNet, Inc.
|
||||
* @copyright 2009 StatusNet, Inc.
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
@ -19,6 +19,8 @@
|
||||
*/
|
||||
|
||||
define('INSTALLDIR', realpath(dirname(__FILE__) . '/..'));
|
||||
define('STATUSNET', true);
|
||||
define('LACONICA', true); // compatibility
|
||||
|
||||
$shortoptions = 'di::';
|
||||
$longoptions = array('id::', 'debug');
|
||||
@ -142,13 +144,20 @@ class SyncTwitterFriendsDaemon extends ParallelizingDaemon
|
||||
{
|
||||
$friends = array();
|
||||
|
||||
$token = TwitterOAuthClient::unpackToken($flink->credentials);
|
||||
$client = null;
|
||||
|
||||
$client = new TwitterOAuthClient($token->key, $token->secret);
|
||||
if (TwitterOAuthClient::isPackedToken($flink->credentials)) {
|
||||
$token = TwitterOAuthClient::unpackToken($flink->credentials);
|
||||
$client = new TwitterOAuthClient($token->key, $token->secret);
|
||||
common_debug($this->name() . '- Grabbing friends IDs with OAuth.');
|
||||
} else {
|
||||
$client = new TwitterBasicAuthClient($flink);
|
||||
common_debug($this->name() . '- Grabbing friends IDs with basic auth.');
|
||||
}
|
||||
|
||||
try {
|
||||
$friends_ids = $client->friendsIds();
|
||||
} catch (OAuthCurlException $e) {
|
||||
} catch (Exception $e) {
|
||||
common_log(LOG_WARNING, $this->name() .
|
||||
' - cURL error getting friend ids ' .
|
||||
$e->getCode() . ' - ' . $e->getMessage());
|
||||
@ -177,7 +186,7 @@ class SyncTwitterFriendsDaemon extends ParallelizingDaemon
|
||||
|
||||
try {
|
||||
$more_friends = $client->statusesFriends(null, null, null, $i);
|
||||
} catch (OAuthCurlException $e) {
|
||||
} catch (Exception $e) {
|
||||
common_log(LOG_WARNING, $this->name() .
|
||||
' - cURL error getting Twitter statuses/friends ' .
|
||||
"page $i - " . $e->getCode() . ' - ' .
|
||||
|
@ -19,6 +19,8 @@
|
||||
*/
|
||||
|
||||
define('INSTALLDIR', realpath(dirname(__FILE__) . '/..'));
|
||||
define('STATUSNET', true);
|
||||
define('LACONICA', true); // compatibility
|
||||
|
||||
$shortoptions = 'i::';
|
||||
$longoptions = array('id::');
|
||||
|
@ -19,6 +19,8 @@
|
||||
*/
|
||||
|
||||
define('INSTALLDIR', realpath(dirname(__FILE__) . '/..'));
|
||||
define('STATUSNET', true);
|
||||
define('LACONICA', true); // compatibility
|
||||
|
||||
// Tune number of processes and how often to poll Twitter
|
||||
// XXX: Should these things be in config.php?
|
||||
@ -148,9 +150,9 @@ class TwitterStatusFetcher extends ParallelizingDaemon
|
||||
|
||||
function getTimeline($flink)
|
||||
{
|
||||
if (empty($flink)) {
|
||||
if (empty($flink)) {
|
||||
common_log(LOG_WARNING, $this->name() .
|
||||
" - Can't retrieve Foreign_link for foreign ID $fid");
|
||||
" - Can't retrieve Foreign_link for foreign ID $fid");
|
||||
return;
|
||||
}
|
||||
|
||||
@ -161,17 +163,24 @@ class TwitterStatusFetcher extends ParallelizingDaemon
|
||||
// to start importing? How many statuses? Right now I'm going
|
||||
// with the default last 20.
|
||||
|
||||
$token = TwitterOAuthClient::unpackToken($flink->credentials);
|
||||
$client = null;
|
||||
|
||||
$client = new TwitterOAuthClient($token->key, $token->secret);
|
||||
if (TwitterOAuthClient::isPackedToken($flink->credentials)) {
|
||||
$token = TwitterOAuthClient::unpackToken($flink->credentials);
|
||||
$client = new TwitterOAuthClient($token->key, $token->secret);
|
||||
common_debug($this->name() . ' - Grabbing friends timeline with OAuth.');
|
||||
} else {
|
||||
$client = new TwitterBasicAuthClient($flink);
|
||||
common_debug($this->name() . ' - Grabbing friends timeline with basic auth.');
|
||||
}
|
||||
|
||||
$timeline = null;
|
||||
|
||||
try {
|
||||
$timeline = $client->statusesFriendsTimeline();
|
||||
} catch (OAuthClientCurlException $e) {
|
||||
} catch (Exception $e) {
|
||||
common_log(LOG_WARNING, $this->name() .
|
||||
' - OAuth client unable to get friends timeline for user ' .
|
||||
' - Twitter client unable to get friends timeline for user ' .
|
||||
$flink->user_id . ' - code: ' .
|
||||
$e->getCode() . 'msg: ' . $e->getMessage());
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user