PHP 在Twitter上取消关注所有关注者

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP 在Twitter上取消关注所有关注者相关的知识,希望对你有一定的参考价值。

define("USERNAME", "__YOU_TWITTER_USER_NAME_HERE__");
define("PASSWORD", "__YOU_TWITTER_PASSWORD_HERE__");

// 1. Validate your credentials
$validate = api("http://twitter.com/account/verify_credentials.xml");
if ($validate->error) {
	die("<strong>Error: </strong>" . $validate->error);
}

// 2. Get a list of your friends IDs
$friends = simplexml2array(api("http://twitter.com/friends/ids.xml"));
if (isset($friends['id'])) {
	$friends = $friends['id'];
}
else {
	echo "Error getting friends!";
	exit;
}

// 3. Unfollow everyone!
if (is_array($friends) && count($friends) > 0) {
	foreach($friends as $f){
	    $xml = api("http://twitter.com/friendships/destroy/" . $f . ".xml", "DELETE");
	    if ($error = $xml->error) {
	        echo "<b>ERROR:</b> " . $f . "(" . $error. ")<br />";
	    }
		else {
			echo "Successfully unfollowed: " .  $f . "<br />";
	    }
		flush();
	}
}

// **************************************************
// Functions

// convert SimpleXML Object into an array
function simplexml2array($xml) {
   if (get_class($xml) == 'SimpleXMLElement') {
       $attributes = $xml->attributes();
       foreach($attributes as $k=>$v) {
           if ($v) $a[$k] = (string) $v;
       }
       $x = $xml;
       $xml = get_object_vars($xml);
   }
   if (is_array($xml)) {
       if (count($xml) == 0) return (string) $x; // for CDATA
       foreach($xml as $key=>$value) {
           $r[$key] = simplexml2array($value);
       }
       if (isset($a)) $r['@'] = $a;    // Attributes
       return $r;
   }
   return (string) $xml;
}

// Calls Twitter API and returns SimpleXML Object
function api($url, $method="GET"){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
    curl_setopt($ch, CURLOPT_USERPWD, USERNAME.":".PASSWORD);
    $buffer = curl_exec($ch);
    curl_close($ch);
    return(simplexml_load_string($buffer));
}

以上是关于PHP 在Twitter上取消关注所有关注者的主要内容,如果未能解决你的问题,请参考以下文章

我如何在网络x上与关注者在Twitter上创建涂鸦?

Twitter API - 为拥有数百万关注者的帐户获取关注者列表的有效方法

如何在不达到 API 限制的情况下获得所有 Twitter 关注者

使用 Selenium 从 Twitter 抓取关注者

在 Twitter 的关注按钮中隐藏“关注者”一词

如何为用户实现关注者,如在 twitter 中