-1

我正在使用下面的代码将状态和图像发布到 Twitter。该库是 tmhOAuth,图像来自我的 mysql 数据库中的一个 blob,mime 类型和文件名也是如此。

基本上,如果找到存储在数据库行中的图像,那么它会使用“update_with_media”的帖子发送到 twitter,如果没有找到图像,那么它只会使用“update”单独发送状态更新。“更新”工作正常,但我无法通过媒体工作获得更新。我尝试了各种网站的几种变体,包括 Twitter 的开发网站,但没有任何乐趣。我真的很感激这方面的任何帮助。

if(!empty($imgid)) {

$getimg = mysql_query("SELECT filedata, filename, mime_type FROM post_images WHERE id = $imgid");
$img = @mysql_fetch_array($getimg); 

$imagedata = $img['filedata'];
$imagename = $img['filename'];
$imagetype = $img['mime_type'];                                     

$theimg = "@{$imagedata};type=$imagetype;filename={$imagename}";
$hasimg = "y";                  
}

if($hasimg == "y") {
    $code = $connection->request( 'POST',  
    $connection->url('https://upload.twitter.com/1/statuses/update_with_media.json'),
   array(
        'media[]'  => $theimg,
        'status'   => $thetweet),
    true, // use auth
    true  // multipart
);
} else {
    $code = $connection->request('POST', 
    $connection->url('1.1/statuses/update'), 
    array('status' => $thetweet));
}

// A response code of 200 is a success
if ($code == 200) {
  print "Tweet sent";
} else {
  print "Error: $code";
}
4

1 回答 1

0

如果其他人有类似的问题,我的问题是格式化。我没有使用变量“$theimg”,而是替换了

'media[]'  => $theimg, with 'media[]'  => "$imagedata; type=$imagetype; filename=$imagename"

希望对某人有所帮助...

和平!

于 2013-04-23T15:06:38.043 回答