PHP получает содержимое JSON в Twitter API без OAuth (почти есть) - PullRequest
1 голос
/ 18 февраля 2011

Эй, ребята, У меня этот скрипт работает нормально с OAuth, но я случайно обстрелял свои 350 попаданий API глупым оператором while :( Я пытаюсь получить данные из Twitter API без OAuth, я не могу понять это (все еще довольно новый) вот что у меня есть

<html>
<body>
<center>
<hr />
<br />
<table border="1">
<tr><td>ScreenName</td><td>Followed back?</td></tr>
<?php
//twitter oauth deets
$consumerKey    = 'x';
$consumerSecret = 'x';
$oAuthToken     = 'x';
$oAuthSecret    = 'x';
// Create Twitter API objsect 
require_once("twitteroauth.php");
$oauth = new TwitterOAuth($consumerKey, $consumerSecret, $oAuthToken, $oAuthSecret);
//get home timeline tweets and it is stored as an array
$youfollow = $oauth->get('http://api.twitter.com/1/friends/ids.json?screen_name=lccountdown');
$i = 0;
//start loop to print our results cutely in a table
while ($i <= 20){
$youfollowid = $youfollow[$i];
$resolve = "http://api.twitter.com/1/friendships/exists.json?user_a=".$youfollow[$i]."&user_b=jwhelton";
$followbacktest = $oauth->get($resolve);
//$homedate= $hometimeline[$i]->created_at;
//$homescreenname = $hometimeline[$i]->user->screen_name;
echo "<tr><td>".$youfollowid."</td><td>".$followbacktest."</td></tr>";
$i++;
}
?>
</table>
</center>
</body>
</html>

Ни одна из двух функций Twitter не требует аутентификации, так как я могу получить одинаковые результаты? Спасибо, парни, Dex

1 Ответ

1 голос
/ 19 февраля 2011

Вы не звоните, правильно звоните из TwitterOAuth.Не используйте полный URL, только путь к методу и параметры передачи в хеш-массиве.

Возможно, вы также не захотите использовать цикл while, когда foreach будет работать так же хорошо.

<?php
//twitter oauth deets
$consumerKey    = 'x';
$consumerSecret = 'x';
$oAuthToken     = 'x';
$oAuthSecret    = 'x';
// Create Twitter API objsect 
require_once("twitteroauth.php");

$oauth = new TwitterOAuth($consumerKey, $consumerSecret, $oAuthToken, $oAuthSecret);

//get home timeline tweets and it is stored as an array
$youfollow = $oauth->get('friends/ids', array('screen_name' => 'lccountdown'));
$i = 0;

//start loop to print our results cutely in a table
foreach($youfollow as $id){
  $followbacktest = $oauth->get('friendships/exists', array('user_a' => $id, 'user_b' => 'jwhelton'));
  echo "<tr><td>".$id."</td><td>".$followbacktest."</td></tr>";
}

Я непосредственно не проверял это, но оно должно работать.Вам также следует подумать о переходе на более полный метод GET Friendship / Show .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...