【问题标题】:twitter follow/unfolow using PHP?twitter 使用 PHP 关注/取消关注?
【发布时间】:2015-03-24 06:26:25
【问题描述】:

我正在尝试使用 PHP 创建一个简单的关注和取消关注 twitter 机器人。

我发现了一些我认为可以让我开始的代码spinets。

代码可以在这里:

PHP TWITTER bot to follow/unfollow using api version 1.1 and cursors

我尝试使用此代码:

<?php
 require("twitteroauth/twitteroauth.php"); 

 $oTwitter = new TwitterOAuth 
(   'YOUR_TWITTER_APP_CONSUMER_KEY',
'YOUR_TWITTER_APP_CONSUMER_SECRET',
'YOUR_TWITTER_APP_OAUTH_TOKEN',
'YOUR_TWITTER_APP_OAUTH_SECRET');


$e = 1;
$cursor = -1;
$full_followers = array();
do {

$follows = $oTwitter->get("followers/ids.json?screen_name=myusername&cursor=".$cursor);

$foll_array = (array)$follows;

  foreach ($foll_array['ids'] as $key => $val) {

        $full_followers[$e] = $val;
        $e++; 
  }
       $cursor = $follows->next_cursor;

  } while ($cursor > 0);
echo "Number of following:" .$e. "<br /><br />";
 ?>

然而,上面的代码返回:

Number of following:1

但我有超过 800 个关注者和超过 1000 个关注者!

所以php中显示的图不对!

有人可以就这个问题提出建议吗?

任何帮助将不胜感激。

【问题讨论】:

    标签: php twitter


    【解决方案1】:

    一旦你得到json格式的结果,你必须使用json_decode,否则你的$foll_array将只包含一个字符串(即json字符串)。应该是这样的:

    $e = 1;
    $cursor = -1;
    $full_followers = array();
    
    do {
    $follows = $oTwitter->get("followers/ids.json?screen_name=myusername&cursor=".$cursor);
    $foll_array = json_decode($follows);
    
    foreach($foll_array as $key => $val) {
        if($key == 'ids')
        {
            foreach($val as $id)
            {
                 $full_followers[$e] = $id;
                 $e++; 
            }
        }
    }
       $cursor = $foll_array->next_cursor;
    
    } while ($cursor > 0);
    

    【讨论】:

    • 我还是一样。 1 个关注者。
    • 我希望您将“YOUR_TWITTER_APP_CONSUMER_KEY”、“YOUR_TWITTER_APP_CONSUMER_SECRET”、“YOUR_TWITTER_APP_OAUTH_TOKEN”、“YOUR_TWITTER_APP_OAUTH_SECRET”替换为您自己的登录凭据。
    • 好的,不好意思问了。但您的连接似乎有问题。执行脚本时是否遇到任何错误?
    • 不,没什么,我现在已经放弃了。花了 4 个小时,似乎 twitter api 有问题。我什至尝试了一些我在谷歌上找到的已经制作好的脚本,但它们甚至都不起作用。所以我的结论是twitter api有问题。
    【解决方案2】:

    试试这个看看你是否收到了一个 twitter 错误。这意味着您至少正在连接。

    if (isset($follows->errors)) {
        print_r($follows->errors[0]->message);
    } else {
        print_r($follows);
    }
    exit;
    

    如果连接数据没有问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-18
      • 1970-01-01
      • 2012-06-09
      • 2018-09-14
      • 1970-01-01
      • 2023-03-22
      • 1970-01-01
      • 2015-02-17
      相关资源
      最近更新 更多