Issue
I am trying to perform a Twitter search using the PEAR package Services_Twitter. Unfortunately this only returns an array of status ids, for example (var_dump):
object(stdClass)#88 (2) {
["statuses"]=>
array(11) {
[0]=>
int(49497593539)
[1]=>
int(49497593851)
[2]=>
int(49497598001)
[3]=>
int(49497599055)
[4]=>
int(49497599597)
[5]=>
int(49497600733)
[6]=>
int(49497602607)
[7]=>
int(49497607031)
[8]=>
int(49497607453)
[9]=>
int(49497609577)
[10]=>
int(49497610605)
}
["created_in"]=>
float(0.008847)
}
The script I'm using is similar to this test script I wrote:
<?php
//$oAuth = new HTTP_OAuth_Consumer( /** Supply oAuth details here **/ );
$Twitter = new Services_Twitter();
//$Twitter->setOAuth($oAuth);
try {
$Response = $Twitter->search(array(
"q" => "#FF -RT OR #FollowFriday -RT",
"rpp" => 10,
"since_id" => 23982086000,
"result_type" => "recent"
));
var_dump($Response);
} catch (Exception $e) {
fwrite(STDERR, $e->getMessage());
}
?>
Since I want to scan the tweets for certain words and want to know when it was posted and by whom, I would need to request all these statuses one by one. But according to the example response in the Twitter API documentation they already return all the necessary information about the tweets (which is kinda obvious).
So, the question is: How can I access this information using Services_Twitter?
Kind Regards,
Arno
Solution
So as I said ->search()
is wrapped through Services_Twitter::__call()
.
But here's the mis-understanding!
Two searches:
This is confusing as search.twitter.com
returns the results as you'd expect them and the other API method just the status IDs.
For some reason only when you search for trends search.twitter.com
is used. Otherwise it's the API methods. If you want to help, please open a ticket on PEAR and I can try to implement this for you.
A quickfix for you is this script:
<?php
$uri = 'http://search.twitter.com/search.json?';
$uri .= http_build_query(
array(
"q" => "#FF -RT OR #FollowFriday -RT",
"rpp" => 10,
"since_id" => 23982086000,
"result_type" => "recent"
));
$response = file_get_contents($uri);
if ($response === false) {
fwrite(STDERR, "Could not fetch search result.");
exit(1);
}
$data = json_decode($response);
var_dump($data);
Answered By - Till Answer Checked By - Katrina (PHPFixing Volunteer)
0 Comments:
Post a Comment
Note: Only a member of this blog may post a comment.