【问题标题】:Can't get latest tweets using Twitter API 1.1 and PHP无法使用 Twitter API 1.1 和 PHP 获取最新推文
【发布时间】:2012-12-01 11:42:13
【问题描述】:

我正在尝试使用 PHP 和 CURL 以及新的 1.1 API 从特定用户那里获取最新的推文,我在 twitter 网站上创建了我的新应用程序并转到 OAuth 工具选项卡以生成签名并根据页面它会生成以下 curl 命令:

curl --get 'https://api.twitter.com/1.1/statuses/user_timeline.json?count=2&screen_name=twitter' --header 'Authorization: OAuth oauth_consumer_key="Waqd223QDuge6l9UboBldg", oauth_nonce="8a9beae863838b0ba2bc6ac03bc9757e", oauth_signature="u2PrZ5g14HGb39pHoYl9azHp6vg%3D", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1355408402", oauth_token="171967067-lyLujNed9QyVBfmlfAkFXiUt5KIQkqrCMwg6utFc", oauth_version="1.0"'

这在我的终端中运行良好,但是当我尝试在 PHP 中复制它时,我收到“无法验证您”错误,这就是我目前所拥有的:

$options = array(
    URLOPT_HTTPHEADER      => array('Authorization: OAuth oauth_consumer_key="Waqd223QDuge6l9UboBldg", oauth_nonce="8a9beae863838b0ba2bc6ac03bc9757e", oauth_signature="toLnir5cHUUvEj8X29SdzjlOTXc%3D", oauth_signature_method="HMAC-SHA1", oauth_timestamp="' . time() . '", oauth_token="171967067-lyLujNed9QyVBfmlfAkFXiUt5KIQkqrCMwg6utFc", oauth_version="1.0"'),
    CURLOPT_HEADER         => false,
    CURLOPT_URL            => 'https://api.twitter.com/1.1/statuses/user_timeline.json?count=2&screen_name=twitter',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_SSL_VERIFYPEER => false
);

$feed = curl_init();
curl_setopt_array($feed, $options);
$json = curl_exec($feed);
curl_close($feed);

$twitter_data = json_decode($json);

var_dump($twitter_data);

我唯一要更改的是oauth_timestamp,我在其中使用time() 函数来获取当前时间,我认为我必须将错误的选项传递给 curl 函数,但我无法弄清楚.

提前致谢。

【问题讨论】:

  • 我认为这与oauth_signature 有关,因为oauth_timestamp 不同,那么签名也应该不同?

标签: php curl twitter twitter-oauth


【解决方案1】:

在这里您可以找到使用 twitter api 1.1 和 curl 获取推文的示例

Simplest PHP example for retrieving user_timeline with Twitter API version 1.1

【讨论】:

  • 谢谢,这就是我最终使用的方法,事实证明 oauth_signature 必须在每个请求中重新生成,因为时间戳也发生了变化
【解决方案2】:

我花了一些时间才开始工作,但我终于做到了,并将一个独立的课程和演示推送到 GitHub,应该很容易理解。

https://github.com/skaterdav85/twitter-library

【讨论】:

    【解决方案3】:

    Twitter 1.1 rest api 的真正简单的 php 包装器

    https://github.com/vojant/Twitter-php

    【讨论】:

      猜你喜欢
      • 2014-02-13
      • 2014-02-15
      • 2012-09-05
      • 1970-01-01
      • 2014-07-07
      • 2012-12-05
      • 2013-05-29
      • 2019-03-14
      • 1970-01-01
      相关资源
      最近更新 更多