我最近问过一个question,我正在努力使用PHP和TwitterAPIExchange将状态和媒体上传到Twitter。
我得到了一些很好的建议,但它仍然没有成功。也就是说,我没有收到错误,但推文没有出现。
我认为写一篇新帖更容易,因为前一篇文章不允许我添加超过几百个字符。
我现在已经重新编写了该功能(显示在最后),因此它只会发送一个状态+图像。这使它更短,我希望,更容易遵循。正如所建议的那样,我已经摆脱了不赞成的电话。
我还包含了一些关键变量的转储。这些出现如下:
$tweet = 'Test for Stack Exchange'
$imagesPath = '/twitter/images/GXK/'
$image = 'graham.jpg'
$url = 'https://api.twitter.com/1.1/statuses/update.json'
$imageToPost = '/twitter/images/GXK/graham.jpg'
我还尝试为图像输入完整的路径名,即:
'media[]' => "@{http://www.graham-kendall.com/twitter/images/GXK/graham.jpg}");
我也尝试过:
'media' => "http://www.graham-kendall.com/twitter/images/GXK/graham.jpg");
DOES 实际上是推文,但不图片。
任何帮助表示感谢。
功能
public function postImageTweet($tweet, $imagesPath, $image) {
$url = $this->baseTwitterURL . 'statuses/update.json';
$imageToPost = $imagesPath . $image;
// Display key variables
echo "tweet: " . $tweet . $newline;
echo "imagesPath: " . $imagesPath . $newline;
echo "image: " . $image . $newline;
echo "url: " . $url . $newline;
echo "imageToPost: " . $imageToPost . $newline;
$requestMethod = 'POST';
$postfields = array(
'status' => $tweet,
'media[]' => "@{http://www.graham-kendall.com/twitter/images/GXK/graham.jpg}");
try{
$twitter = new TwitterAPIExchange($this->settings);
echo $twitter->buildOauth($url, $requestMethod)
->setPostfields($postfields)
->performRequest();
} catch (Exception $ex) {
echo $ex->getMessage();
}
} // postImageTweet
答案 0 :(得分:0)
我认为$url
必须是这样的:
$url = $this->baseTwitterURL . 'statuses/update_with_media.json';
如果您不使用“with_media”,那将无效。