1

我正在为应用程序使用 Twitpic API。我有点卡住了,因为我似乎找不到错误所在。这段代码我阅读的所有文档都说它是正确的。帮助将不胜感激。谢谢!

function do_twitpic() 
{           
    $media = 'http://image-to-upload.jpg'; 
    $username = $_POST['username'];
    $password = $_POST['password'];

    $postfields = array(); 
    $postfields['username'] = $username; 
    $postfields['password'] = $password;  
    $postfields['media'] = "@".$media;

    $twitter_url = 'http://twitpic.com/api/upload'; 
    $curl = curl_init(); 
    curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 2); 
    curl_setopt($curl, CURLOPT_HEADER, false); 
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($curl, CURLOPT_BINARYTRANSFER, 1); 
    curl_setopt($curl, CURLOPT_URL, $twitter_url); 
    curl_setopt($curl, CURLOPT_POST, 3); 
    curl_setopt($curl, CURLOPT_POSTFIELDS, $postfields); 
    $result = curl_exec($curl); 
    curl_close($curl); 
    $login_xml = new SimpleXMLElement($result); 
    if (isset($login_xml->error)) { 
        print_r($login_xml); 
    } else { 
        print_r($login_xml); 
    }   
}

非常感谢!

4

2 回答 2

0

图像的@“真实路径”前面,而不是公共 URL,将图像动态转换为二进制数据。

于 2012-03-20T23:10:28.710 回答
0

根据这个页面 $media 需要是图像的二进制编码数据,而不是它的 URL。 http://www.twitpic.com/api.do#upload

于 2011-03-08T15:36:18.077 回答