1

I am using tmhOAuth.php / class to login into twitter. I have been successful in logging in and sending a tweet.

When I go to use the friends.php script, I am having some problems inserting into my database. I do believe that my problem lies some where with the $paging variable in the code. Because it is looping only seven times. I am following 626 people so my $ids is 626 and then $paging is 7.

When I run the php in a web browser, I am only able to extract 7 of the followers (ie following user #626,following user 526,following user 426...) It seem to be echoing the last user on each page request. This due in part to requesting 100 user ids at a time, via the PAGESIZE constant. When I adjust the $paging with different number such as the number 626 I get {"errors":[{"code":17,"message":"No user matches for specified terms"}]}

Unfortunately, I suspect this is fairly simple php looping problem, but after the amount of time I have spent trying to crack this I can no longer think straight.

Thanks in advance.

define('PAGESIZE', 100);
require 'tmhOAuth.php';
require 'tmhUtilities.php';

if ($tmhOAuth->response['code'] == 200) {
$data = json_decode($tmhOAuth->response['response'], true);
$ids += $data['ids'];
$cursor = $data['next_cursor_str'];
} else {
echo $tmhOAuth->response['response'];
break;
}
endwhile;

// lookup users
$paging = ceil(count($ids) / PAGESIZE);
$users = array();
for ($i=0; $i < $paging ; $i++) {
$set = array_slice($ids, $i*PAGESIZE, PAGESIZE);
$tmhOAuth->request('GET', $tmhOAuth->url('1/users/lookup'), array(
'user_id' => implode(',', $set)
));

// check the rate limit
check_rate_limit($tmhOAuth->response);

if ($tmhOAuth->response['code'] == 200) {
$data = json_decode($tmhOAuth->response['response'], true);
if ($tmhOAuth->response['code'] == 200) {
$data = json_decode($tmhOAuth->response['response'], true);
$name = array();
foreach ($data as $val)
    {
        $name = $data[0]['screen_name'];
    }
    echo "this is the screen name  " .$name. "\n";
    $users += $data;
} else {
echo $tmhOAuth->response['response'];
break;
}

}
var_dump($users);
?>

The data I am trying to echo, then parse and insert into database is the standard twitter JSON data, so I won't include this in the message. Any help would be

Chad
  • 643
  • 2
  • 11
  • 22

1 Answers1

0

Problem solved:

  foreach ($data as $val)
{
    $name = $val['screen_name'];
    echo "this is the screen name  " .$name. "\n";
    $users[] = $name;
}
Chad
  • 643
  • 2
  • 11
  • 22