【问题标题】:Twitter Oauth Statuses/show in codeigniter returns errorTwitter Oauth 状态/在 codeigniter 中显示返回错误
【发布时间】:2013-12-22 14:41:59
【问题描述】:

我正在使用this 库在我的项目中实现 twitter Oauth, 如果在这种情况下相关,则使用 codeigniter。

我正在尝试根据推文 ID 获取推文,但它返回错误:

{"errors":[{"message":"Sorry, that page does not exist","code":34}]}

这是我正在使用的代码:

public function gettweetbyid() {
    $this->config->load('twitter');
    $consumer = $this->config->item('twitter_consumer_token');
    $consumer_secret = $this->config->item('twitter_consumer_secret');
    $access_token = $this->config->item('twitter_access_token');
    $access_token_secret = $this->config->item('twitter_access_secret');
    $connection = $this->twitteroauth->create($consumer, $consumer_secret, $access_token, $access_token_secret);
    $content = $connection->get('account/verify_credentials');
    $data = array(
        'id' => $this->input->get('id')
    );
    $tweets = $this->twitteroauth->get('statuses/show', $data);

    echo json_encode($tweets);
}

我知道一切都是正确的,因为我也在使用该插件来获取基于主题标签的推文,这完全没有问题。

我得到的网址与他们的文档网址非常相似:

https://api.twitter.com/1.1/statuses/show.json?id=408541017676460000&....

我已经看了一整天了,我的时间已经不多了......

任何帮助将不胜感激!

编辑:另外,在推特上有什么方法可以检查 ID 是否真的存在?尽管如此,我认为这不是问题,我想知道以供将来参考

【问题讨论】:

  • 当用户、推特等推特对象被删除/删除并且实际上不再存在时,我会看到这一点。

标签: php codeigniter twitter oauth


【解决方案1】:

对于那些绊脚的人:

我从之前对 twitter 的请求中获得了 id,我发现你必须使用 twitter 返回的 json 数据中的 id_str,而不是普通的 id。字符串 id 和普通 id 是不同的。上帝可能知道为什么,但我很高兴这个问题得到了解决!

【讨论】:

  • 你确定吗?我一直发现用户、推文等资源的 id 和 id_str 是相同的,一个是 long 值的字符串化版本。
  • 我有 99.9% 的把握。当我从数据库中提取推文 ID 后尝试从推特获取数据时,它给了我上面的错误。我尝试将id_str 保存在我的数据库中并通过它获得一条推文,并且效果很好。我在某处读到,您必须像 'id' => '123456' 而不是 'id' => 123456 那样给出它。即使 PHP 将 id 作为字符串返回,而不是整数。文档还说它们确实是一样的,就像你说的那样。仍然觉得它不适用于id 很奇怪。如果有人能给出解释,那就太好了!
  • 您必须在请求中将其作为字符串发送,而不是 number/int/long
猜你喜欢
  • 1970-01-01
  • 2012-06-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-10
  • 2018-03-08
  • 1970-01-01
  • 2013-04-17
相关资源
最近更新 更多