2011-09-30 41 views
13

había integrar con éxito las API de Twitter y yo soy capaz de publicar el texto de mi dispositivo, pero quiero saber dos cosas¿Podemos publicar imágenes en twitter usando Twitter API en Android?

  1. IS es posible publicar la imagen en Twitter usando la API de Android?

  2. En twitter utilizamos OAuth.OAUTH_TOKEN y OAuth.OAUTH_TOKEN_SECRET tokens.I pasando los valores de token en el segundo argumento en el siguiente código ¿está bien? o tengo que dejarlo en blanco?

    String token = prefs.getString(OAuth.OAUTH_TOKEN, OAuth_token_key); 
    String secret = prefs.getString(OAuth.OAUTH_TOKEN_SECRET, OAuth_token_secret); 
    

busqué saber si es posible post image on twitter using twitter API in Android pero no han encontrado ningún vínculo que yo sepa si es posible o no.

Tengo un problema de imagen de publicación similar para iPhone y there is a answer also. No sé sobre el iPhone, así que no puedo saber el clima, es la respuesta correcta o no. Aquí hay un enlace de pregunta similar de imagen de la publicación para iPhone

Por favor, ayúdenme a solucionar este problema.

Respuesta

15

Sí Se puede publicar la imagen en el Twitter .

AIK, hay dos métodos para cargar la foto en Twitter.

Con Primero tienes que implementar la API de Twitter y usar this Link para subir el Photot al Twitter.

Disculpe por el ejemplo. ya que no tengo ningún ejemplo de cómo usar esto.

Con Segundo puede hacerlo con la ayuda de la API twitPic4j. Simplemente agregue la API para twitPic4j y escriba el código debajo para cargar la foto.

Código:

File picture = new File(APP_FILE_PATH + "/"+filename+".jpg"); 
// Create TwitPic object and allocate TwitPicResponse object 
TwitPic tpRequest = new TwitPic(TWITTER_NAME, TWITTER_PASSWORD); 
TwitPicResponse tpResponse = null; 
// Make request and handle exceptions        
try {   
     tpResponse = tpRequest.uploadAndPost(picture, customMessageEditText.getText()+" http://www.twsbi.com/"); 

} 
catch (IOException e) {   
     e.printStackTrace(); 
     Toast.makeText(getApplicationContext(), "Please enter valid username and password.", Toast.LENGTH_SHORT).show(); 
} 
catch (TwitPicException e) {   
     e.printStackTrace(); 
     Toast.makeText(getApplicationContext(), "Invalid username and password.", Toast.LENGTH_SHORT).show(); 
     Toast.makeText(getApplicationContext(), "Please enter valid Username and Password.", Toast.LENGTH_SHORT).show(); 
} 
// If we got a response back, print out response variables        
if(tpResponse != null) {   
     tpResponse.dumpVars(); 
     System.out.println(tpResponse.getStatus()); 
     if(tpResponse.getStatus().equals("ok")){ 
      Toast.makeText(getApplicationContext(), "Photo posted on Twitter.",Toast.LENGTH_SHORT).show(); 
      //picture.delete(); 
     } 
} 

Por encima de código funciona en mi caso.

Espero que tenga la solución con la segunda y no sé cómo usar la primera.

Disfrútalo. :)

Actualizado

Si todavía no funciona para usted y probar algunos proyectos se enumeran a continuación:

Example 1

Example 2

Example 3

Example 4

Espero que te ayude.

Happy Coding.

==================================

PARA erdomester y respuestas Actualización

==================================

favor mi primer eslabón dado con Example1 y su api: Twitter4J Por lo tanto, si alguna biblioteca deja de proporcionar funcionalidad para cargar imágenes en Twitter, puede usar otra biblioteca para lo mismo Por favor, revise y lea la actualización de Twitter4j.

Comprobar API Twitter4J para subir archivos a Twitter: Twitter4j Image Upload

Por ejemplo ayuda también se puede comprobar a continuación código para cargar el archivo de imagen en Twitter.

Código de carga de imágenes:

/** 
* To upload a picture with some piece of text. 
* 
* 
* @param file The file which we want to share with our tweet 
* @param message Message to display with picture 
* @param twitter Instance of authorized Twitter class 
* @throws Exception exception if any 
*/ 

public void uploadPic(File file, String message,Twitter twitter) throws Exception { 
    try{ 
     StatusUpdate status = new StatusUpdate(message); 
     status.setMedia(file); 
     twitter.updateStatus(status);} 
    catch(TwitterException e){ 
     Log.d("TAG", "Pic Upload error" + e.getErrorMessage()); 
     throw e; 
    } 
} 

espero que esto le ayudará más para su búsqueda.

Gracias a eredomester para notificarme que tweetpic ya no funciona para Twitter. Pero por favor no responda negativamente para responder hasta que no haya buscado completamente en la respuesta dada. La biblioteca dada Twitter4J en el ejemplo 1 da una idea clara sobre la carga de imágenes a Twitter y puede implementarla fácilmente.

Para obtener más ayuda y el código también se puede comprobar: Twitter Upload media

Nota: Para utilizar esto, por favor asegúrese de que tiene la última archivo jar. He usado twitter4j-core-2.2.5.jar o más para esto.

Coménteme en lugar de rechazar esta respuesta, si enfrenta algún problema en esto.

+0

este código se trabajó hasta la semana pasada. Ahora lo dice diciendo nombre de usuario y contraseña no válidos. ¿Cuál es el problema? No estoy ingresando. Estoy ingresando el nombre de usuario y contraseña correctos – sai

+0

@sai: verifique el nombre de usuario y la contraseña. O elimine esa aplicación e instálela de nuevo y luego revísela. –

+0

¿no funciona para la aplicación anterior también? – sai

1

Sí, puedes publicar imágenes en twitter usando Twitter api como twitter4j, pero te sugiero que hagas uso de las clases HttpPost y DefaultHttpClient porque es bueno en la práctica y no necesitas agregar ninguna API externa a él.

+0

¿Tiene algún enlace para eso? y si usamos httppost, ¿entonces no es necesario agregar una API externa de Twitter? – Dharmendra

+0

Mira cuando cargamos una foto sin usar ninguna API externa en twitter, tenemos que cargarla en Multipartes/formulario. solo diríjase a este enlace y estudie la documentación de la API de descanso de twitter https://dev.twitter.com/docs/api/1/post/statuses/update_with_media y si mi respuesta lo ayudó a dejar de votar. – Rocker

2

¿Es posible publicar una imagen en twitter con API en Android?

Sí, puede cargar imágenes en Twitter después de una autenticación exitosa con Twitter Media Uplload.

en Twitter que utilizan OAuth.OAUTH_TOKEN y OAuth.OAUTH_TOKEN_SECRET tokens.I pasar valores de los símbolos en el segundo argumento en el código de abajo es bien? o tengo que dejarlo en blanco?

se debe añadir tanto simbólico y simbólico clave secreta que serán útiles para setTokenWithSecret methos de Tiwtter en las que tiene que enviar tanto simbólico y Token secreto ..