2009-09-28 57 views
1

來自Twitter的API部分。使用API​​和多表單數據的Twitter背景上傳

爲什麼我的圖片上傳總是失敗? 圖像更新方法需要 多部分表單數據。他們不要 接受一個圖像的URL,他們不接受原始圖像的字節 。他們 而是要求數據爲 以文件上傳的形式交付。

有沒有人得出這個結論,還是解決了這個問題?我在嘗試發佈圖片時遇到了各種麻煩。 我環顧四周,發現沒有解決方案。

+0

您可能需要詳細瞭解如何發佈圖像以及問題是什麼。 – rojoca 2009-09-28 02:48:02

+0

這就是我以前在做的。 http://stackoverflow.com/questions/1483163/updating-twitter-background-via-api – Homework 2009-09-28 05:22:04

回答

2

你有什麼確切的問題?從API的聲音,你只需要做一個常規的文件上傳到Twitter本身。下面,您可以將文件上傳到服務器,並通過API docs將其推到Twitter:

<?php 
    if($_POST) { 
     // Do anything needed for authentication 
     $ch = curl_init('http://twitter.com/account/update_profile_background_image.xml'); 
     curl_setopt_array(array(
      CURLOPT_POSTFIELDS => array('image' => '@'.$_FILES['myfile']['tmp_name']), 
      CURLOPT_RETURNTRANSFER => true, 
      CURLOPT_POST => true, 
     )); 

     $rsp = curl_exec($ch); 
     // Read the response 
    } 
?> 
<form enctype="multipart/form-data" method="post"> 
    File: <input type="file" name="myfile" /> 
    <input type="submit"> 
</form> 

更多信息可以在PHP documentationcURL documentation爲PHP找到。

+0

我該如何將它添加到你寫的內容? $ content = $ to> OAuthRequest('http://twitter.com/account/update_profile_background_image.xml',array('profile_background_image_url'=> $ html),'POST'); – Homework 2009-09-28 05:06:29

+1

顯然,回答這個問題的人根本沒有測試過代碼。例如,curl_setopt_array需要curl_setopt_array($ ch,array(...)而不是curl_setopt_array(array()。所有答案都失敗。 – Unreality 2009-12-28 03:10:42

+0

代碼可能不能按原樣寫入,但它完全可能給出原始海報一個關於正確方向的線索 – ceejayoz 2009-12-28 03:30:58