我使用此库https://github.com/J7mbo/twitter-api-php来使用Twitter API。
我使用.csv传递推文ID,使用GET(showids.php)工作正常:
<?php
require('TwitterAPIExchange.php');
require("auth.php");
$fichero=fopen("tweets.csv","r");
while(!feof($fichero)){
$linea=fgets($fichero);
$id=(substr($linea,1,18));
echo ($id."<br />");
$url = "https://api.twitter.com/1.1/statuses/show.json";
$requestMethod = "GET";
$getfield = '?id='.$id;
$twitter = new TwitterAPIExchange($settings);
$response = $twitter->setGetfield($getfield)
->buildOauth($url, $requestMethod)
->performRequest();
print_r($response);
echo("<br />");
}
fclose($fichero);
但是当我使用POST方法(delids.php)时,它会在int限制下删除Tweet ID。
<?php
require('TwitterAPIExchange.php');
require("auth.php");
$fichero=fopen("tweets.csv","r");
while(!feof($fichero)){
$linea=fgets($fichero);
$tid=substr($linea,1,18);
echo ($tid."<br />");
$url = sprintf('https://api.twitter.com/1.1/statuses/destroy/%d.json',$tid);
echo ($url."<br />");
$method = 'POST';
$params = array(
'id'=>$tid,
);
$twitter = new TwitterAPIExchange($settings);
echo $twitter->buildOauth($url,$method)
->setPostfields($params)
->performRequest();
echo("<br />");
}
fclose($fichero);
IMG,错误:int limit
答案 0 :(得分:1)
不要使用sprintf,而只需通过连接字符串来添加id:
$url = 'https://api.twitter.com/1.1/statuses/destroy/'.$tid.'.json');
我觉得应该有用。
可在此处找到一些解释: http://php.net/manual/en/function.sprintf.php d接受一个整数,这就是为什么它以最大整数值切断它。
d - 将参数视为整数,并显示为(带符号) 十进制数。