为什么下面的代码只推了一张图片而不是全部三张?
我想要使用 twitter API 的多张图片的单条推文。在 twitter API 上提到您可以在推文中附加最多 4 张照片、1 个动画 GIF 或 1 个视频。
$this->load->library('twitterext/tmhoauth');
$this->config->load('hybridauthlib', TRUE);
$cunsumer = $this->config->item('hybridauthlib');
$tmhoauth = new tmhoauth(array(
'consumer_key' => $cunsumer['providers']['Twitter']['keys']['key'],
'consumer_secret' => $cunsumer['providers']['Twitter']['keys']['secret'],
'user_token' => $np["networktoken"],
'user_secret' => $np["networksecret"],
));
$media1='C:\wamp\www\vx\assets\uploads\post\post_10326.png';
$params1=array('media' => base64_encode(file_get_contents($media1));
$media2='C:\wamp\www\vx\assets\uploads\post\post_10327.png';
$params2=array('media' => base64_encode(file_get_contents($media2));
$media3='C:\wamp\www\vx\assets\uploads\post\post_10328.png';
$params3=array('media' =>base64_encode(file_get_contents($media3));
//after request
$media_id=array();
for ($i=1; $i <4 ; $i++) { //suppose
$url = 'https://upload.twitter.com/1.1/media/upload.json';
$code = $tmhoauth->request('POST', $url, $params.$i, true);
if ($code == 200) {
$response = json_decode($tmhoauth->response['response']);
$media_id[] = $response->media_id_string;
} else {
$response->error = $tmhoauth->response['response'];
}
}
$messageparams['media_ids']=$media_id;
$messageparams['status']='my message';
$response = $adapter->api()->post('statuses/update.json', $messageparams);
最佳答案
你正在传递数组 $media_id
$messageparams['media_ids']=$media_id;
但它应该是字符串而不是 media_id 数组,
$media_ids_str = implode(',', $media_id);
$messageparams['media_ids']=$media_ids_str;
关于php - 如何使用 twitter API 发布多张图片?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40742179/