请帮助我,使用api v1.1将图片上传到Twitter时出现问题
一个月前,它运行良好,但现在不起作用。
我正在使用亚伯拉罕twitteroauth https://github.com/abraham/twitteroauth
我正在使用enctype =“ multipart / form-data”作为表单标签中的属性
这是我的代码:

             require 'inc/twitter.class.php';

             if(!empty($_FILES['media']['name'])){    // tweet with media
                  $file_name  = $_FILES['media']['name'];
                  $file_type  = $_FILES['media']['type'];
                  $file_size  = $_FILES['media']['size'];
                  $file_temp  = $_FILES['media']['tmp_name'];
                  $file_error = $_FILES['media']['error'];

                  $handle    = fopen($file_temp,'rb');
                  $image     = fread($handle,filesize($file_temp));
                  fclose($handle);
                  $tweet = new TwitterOAuth($YOUR_CONSUMER_KEY, $YOUR_CONSUMER_SECRET, $row_user_info['access_token_oauth_token'], $row_user_info['access_token_oauth_token_secret']);
                  $result = $tweet->post('statuses/update_with_media',array('media[]' => "@{$image};type={$file_type};filename={$file_temp}",'status' => 'test'));

                  echo '<pre>';
                  print_r($result);
                  echo '</pre>';


结果是:

stdClass Object
(
[errors] => Array
    (
        [0] => stdClass Object
            (
                [code] => 195
                [message] => Missing or invalid url parameter.
            )

    )
)


我不知道那是什么
请帮我

最佳答案

亚伯拉罕twitteroauth的问题与通过媒体发送推文有关。您可以在这里找到Twitteroauth的固定版本:

https://github.com/tomi-heiskanen/twitteroauth/blob/77795ff40e4ec914bab4604e7063fa70a27077d4/twitteroauth/twitteroauth.php

使用该库,您必须调用:

$result = $tweet->post('statuses/update_with_media',array('media[]' => "@{$image};type={$file_type};filename={$file_temp}",'status' => 'test'), true);


最后一个参数true表示您正在发送多部分请求。

07-24 19:04