使用TwitterAPIExchange使用PHP发送状态和图片

时间:2015-04-25 08:11:58

标签: php twitter

我编写了以下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

0 个答案:

没有答案