【问题标题】:Twitter timeline with PHP?使用 PHP 的 Twitter 时间线?
【发布时间】:2012-01-06 01:41:01
【问题描述】:

我想做一些非常简单的事情,但是做这个简单任务的方式似乎是不可能的。我需要拉出我的推特主页时间线。不是我最近的所有推文,而是我关注的人的推文。我希望这可以用 PHP 完成,但我不知道。任何帮助表示赞赏,请像我是菜鸟一样与我交谈 - 彻底大声笑。

【问题讨论】:

  • 你有没有尝试过?也许是浏览了 Twitter API?
  • 我有,只是不太明白。我知道 html/css 和非常轻量级的 javascript。我只是需要有人为我需要学习的东西制定一个战斗计划,以便实现这样的想法,有点为我指明了正确的方向:)。

标签: php twitter


【解决方案1】:

看看这个页面(链接更新): https://dev.twitter.com/docs/things-every-developer-should-know

还可以查看有关使用 OAuth 的 cmets。

您必须使用curl in PHP

棘手的部分是curl options。您可以在下面的示例中看到我是如何使用它们的。

您想要从 apiwiki 获得的部分是答案 #8 中的示例。具体来说:

从您在 XML 中关注的用户那里获取更新,经过身份验证:curl -u username:password http://api.twitter.com/1/statuses/friends_timeline.xml

Here's the friends timeline docs. 您可以通过 XML、JSON、RSS 或 Atom 格式获取所需的信息。 JSON 可能是最简单的,因为you can parse that simply with PHP.

好的,把它变成 PHP 你可以用这个:

<?php
// create a new cURL resource
$curl = curl_init();
// set URL and other appropriate options
$options = array(CURLOPT_URL => 'http://api.twitter.com/1/statuses/friends_timeline.json',
                 CURLOPT_HEADER => true,
                 CURLOPT_USERPWD => 'YOUR_USERNAME:YOUR_PASSWORD'
                );            

// set URL and other appropriate options
curl_setopt_array($curl, $options);
// grab URL and pass it to the browser
curl_exec($curl);
// close cURL resource, and free up system resources
curl_close($curl);
?>

刚刚在我的帐户上进行了测试。上面的代码以 JSON 形式为您提供您朋友的更新。

您可能不需要标题。如果不这样做,您可以省略“CURLOPT_HEADER => true”行。

编辑:

当然,一堆 JSON 只是这么有用....下面是一个示例,说明如何更改为上面的代码以获取 JSON 并以人类可读的形式打印某些选定的项目:

<?php
// create a new cURL resource
$curl = curl_init();
// set URL and other appropriate options
$options = array(CURLOPT_URL => 'http://api.twitter.com/1/statuses/friends_timeline.json',  
                 CURLOPT_USERPWD => 'USERNAME:PASSWORD',
                 CURLOPT_RETURNTRANSFER => true
                );            

// set URL and other appropriate options
curl_setopt_array($curl, $options);
// grab URL and pass it to the browser
$json = curl_exec($curl);
// close cURL resource, and free up system resources
curl_close($curl);
$obj = json_decode($json);    
foreach($obj as $var => $value)
{
    echo "Message number: $var <br/>";    
    echo "Name: " . $obj[$var]->user->name;
    echo "Handle: " . $obj[$var]->user->screen_name . "<br/>";        
    echo "Message: " . $obj[$var]->text;        
    echo "Created" . $obj[$var]->created_at . "<br/>";                    
    echo "URL" . $obj[$var]->user->url . "<br/>";
    echo "Location" . $obj[$var]->user->location . "<br/>";       
    echo "<br/>";
}
?>

【讨论】:

【解决方案2】:

使用专门为 Twitter 设计的 oAuth 库,例如 twitteroauth 来访问它。

库本身带有示例。您也许可以为这个库调整 Peter 的一些代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-04
    • 2012-03-26
    • 2015-10-19
    • 1970-01-01
    • 2013-01-13
    • 2013-07-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多