我编写了以下PHP函数(见下文),它允许我发送状态或状态+图像。
状态更新工作正常,但如果我传递一个图像名称(并且strlen($ image)!= 0指示通过该函数的不同路径),它不会发出推文,也不会收到错误。
我尝试手动将图像路径+名称放入数组的'media []'元素中,但无法使其工作。
我甚至尝试过
'media[]' => "http://www.website.com/twitter/images/pic.jpg");
...这是该文件的完整路径名,如之前的post所示。这实际上给了我一个错误:
{“errors”:[{“code”:189,“message”:“创建状态时出错。”}]}
我已经仔细关注了其他一些论坛帖子,但几天之后我有点沮丧? : - 。)
任何帮助表示感谢。
public function postTweet($tweet, $imagesPath, $image) {
$url = $this->baseTwitterURL . 'statuses/update.json';
$urlMedia = $this->baseTwitterURL . 'statuses/update_with_media.json';
$postURL = "";
$requestMethod = 'POST';
if(strlen($image) == 0) {
$postfields = array(
'status' => $tweet);
$postURL = $url;
}
else {
$imagetoPost = $imagesPath . $image;
$postfields = array(
'status' => $tweet,
'media[]' => "@{$imagetoPost}");
$postURL = $urlMedia;
};
try{
$twitter = new TwitterAPIExchange($this->settings);
$postfields[status] . $this->newline;
echo $twitter->buildOauth($postURL, $requestMethod)
->setPostfields($postfields)
->performRequest();
} catch (Exception $ex) {
echo $ex->getMessage();
}
} // postTweet