2009-09-28 4 views
1

Tiré de la section API de Twitter.Envoi d'arrière-plan Twitter avec API et données multi-formulaires

Pourquoi mes téléchargements d'images échouent-ils toujours? Les méthodes de mise à jour d'image requièrent des données de formulaire en plusieurs parties . Ils n'acceptent pas d'URL pour une image et ne acceptent pas les octets d'images brutes. Ils exigent plutôt que les données soient livrées sous la forme d'un téléchargement de fichier.

Est-ce que quelqu'un est arrivé à une conclusion avec ceci, ou a résolu ce problème? J'ai beaucoup de problèmes à essayer de l'afficher. J'ai regardé autour et trouvé aucune solution avec ceci.

+0

Il se peut que vous deviez détailler la manière dont vous publiez les images et quel est le problème. – rojoca

+0

C'est ce que je faisais précédemment. http://stackoverflow.com/questions/1483163/updating-twitter-background-via-api – Homework

Répondre

2

Quels sont les problèmes exacts? Du son de l'API, il suffit de faire un téléchargement régulier sur Twitter. Ce qui suit vous permet de télécharger un fichier sur votre serveur et le pousser à Twitter via le API docs:

<?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> 

Plus d'informations peuvent être trouvées dans le PHP documentation et le cURL documentation pour PHP.

+0

Comment est-ce que j'ajouterais ceci dans ce que vous avez écrit? $ content = $ to-> OAuthRequest ('http://twitter.com/account/update_profile_background_image.xml', array ('profile_background_image_url' => $ html), 'POST'); – Homework

+1

évidemment celui qui a répondu à cette question n'a pas testé le code du tout. Par exemple, curl_setopt_array nécessite d'être curl_setopt_array ($ ch, array (... au lieu de curl_setopt_array (array (.) Dans l'ensemble, la réponse a échoué – Unreality

+0

Le code peut ne pas fonctionner tel qu'il est écrit, mais il est tout à fait possible qu'il ait donné l'affiche originale – ceejayoz