Me gustaría poder usar el facebook android sdk y publicar un enlace a Facebook. Un ejemplo de lo que quiero sería si estuviera en Facebook y escriba un enlace en su parte de estado, como "http://www.google.com". Cuando haces esto, aparece un recuadro y tu publicación termina siendo un bloque que tiene una imagen y un enlace. Encontré documentación en la API de Facebook para esto utilizando un archivo adjunto, aunque cuando trato de hacer esto con la API de Facebook api no parece funcionar. He buscado durante horas en la red, sin suerte. Gracias.facebook facebook api publicar en la pared con la imagen
Respuesta
Asumiendo cuando leas esto que ya sabe cómo iniciar sesión en Facebook y como a través de la API ...
private void fbImageSubmit(Facebook fb, String imageurl, String caption, String description, String name, String linkurl)
{
if(fb != null)
{
if(fb.isSessionValid())
{
Bundle b = new Bundle();
b.putString("picture", imageurl);
b.putString("caption",caption);
b.putString("description",description);
b.putString("name",name);
b.putString("link",linkurl);
try {
String strRet = "";
strRet = fb.request("/me/feed",b,"POST");
JSONObject json;
try {
json = Util.parseJson(strRet);
if(!json.isNull("id"))
{
Log.i("Facebook", "Image link submitted.");
}
else
{
Log.e("Facebook","Error: " + strRet);
}
} catch (FacebookError e) {
Log.e("Facebook","Error: " + e.getMessage());
}
} catch (Exception e) {
Log.e("Facebook", "Error: " + e.getMessage());
}
}
}
}
+1 Gracias, me ayudó a saber el nombre de algunos parámetros que se pasarán en el paquete. –
este método funciona completamente. Buen trabajo por @ Kelton –
imageUrl y LinkUrl? ¿Qué son? –
Esto funciona bien perfecto con cuadro de diálogo Progreso .. Me lo han utilizado ...
debe añadido el tarro de Facebook ...
Facebook authenticatedFacebook = new Facebook(APP_ID);
private static final String[] PERMISSIONS = new String[] { "publish_stream", "read_stream", "offline_access" };
llamada a continuación en función de botón de clic ....
authenticatedFacebook.authorize(YOUR_CLASS_NAME.this, PERMISSIONS, new FaceBookWallPostListener());
Ahora Añadir esta clase ...
public class FaceBookWallPostListener implements DialogListener {
public void onComplete(Bundle values) {
new FacebookWallPost().execute();
}
public void onCancel() {
}
public void onError(DialogError e) {
e.printStackTrace();
}
public void onFacebookError(FacebookError e) {
e.printStackTrace();
}
}
@Override
protected boolean isRouteDisplayed() {
return false;
}
private class FacebookWallPost extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... params) {
try {
path = "Path OF YOUR IMAGE";
Bundle parameters = new Bundle();
parameters.putString("message", "MESSAGE YOU WANT TO POST");
try {
File file = new File(path, "IMAGE_NAME.jpg");
Bitmap bitmap = BitmapFactory.decodeFile(file.getAbsolutePath());
byte[] data = null;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 100, baos);
data = baos.toByteArray();
if (data != null) {
parameters.putByteArray("picture", data);
}
parameters.putString("access_token", authenticatedFacebook.getAccessToken());
authenticatedFacebook.request("me");
authenticatedFacebook.request("me/photos", parameters, "POST");
} catch (Exception e) {
return e.getMessage();
}
return "success";
} catch (Exception e) {
return e.getMessage();
}
}
@Override
protected void onPostExecute(String result) {
pDialog.dismiss();
if (result.equals("success")) {
Toast.makeText(YOUR_CLASS_NAME.this, "WallPost Successfully Done", Toast.LENGTH_SHORT).show();
try {
new File(Environment.getExternalStorageDirectory().toString() + "/Diegodeals", "diegodeals.jpg").delete();
} catch (Exception e) {
}
} else {
Toast.makeText(YOUR_CLASS_NAME.this, "Failed to post \n " + result, Toast.LENGTH_SHORT).show();
}
}
@Override
protected void onPreExecute() {
pDialog = new ProgressDialog(YOUR_CLASS_NAME.this);
pDialog.setMessage("Posting Picture & Message on Facebook...");
pDialog.show();
}
}
///// SUERTE buena conexión.
- 1. Publicar en la pared con Facebook API
- 2. Botón Compartir/publicar en la pared - Facebook API?
- 3. FACEBOOK JS SDK :: cómo publicar una imagen en la pared
- 4. Publicar en la página de Facebook pared como una página
- 5. cómo publicar la puntuación más alta en la pared de Facebook (android + facebook)
- 6. Facebook API: ¿está cargando fotos en la pared?
- 7. Facebook iOS SDK 3.0 publicar en la pared
- 8. Publicando la imagen de la pared de .NET a Facebook usando la API Graph
- 9. publica en la página de facebook pared como administrador de Facebook a través de facebook php api
- 10. Facebook API: Cómo publicar en la pared de aplicación propia sin iniciar sesión
- 11. Facebook API cargar foto desde la URL
- 12. Publicar un "me gusta" con la API Graph de Facebook?
- 13. Facebook sdk publicar en la pared en la aplicación de iPhone
- 14. Facebook - Mensaje a la pared de la aplicación Android
- 15. Publicar en Facebook Graph Api es lento
- 16. Publicar imagen en Facebook usando Python
- 17. Publicar como tipo de enlace con Facebook Graph API
- 18. publicando en la pared de amigos usando facebook javascript sdk
- 19. Android/Java: ¿publica texto simple en la pared de Facebook?
- 20. Facebook el cuadro de diálogo de la pared está vacío
- 21. cómo usar el intento de Action_view para publicar en la pared de Facebook?
- 22. Usando Facebook Graph para simplemente publicar un mensaje de pared con solo javascript
- 23. Publicar en amigos del usuario facebook pared a través de la aplicación de Android
- 24. Cómo publicar imágenes en la pared de Facebook con un solo clic desde la aplicación de iPhone
- 25. Facebook API - cómo publicar/compartir con foto grande
- 26. Usando FB.ui para publicar en la pared de la página
- 27. ¿Cómo publicar desde la aplicación de Facebook a la página de Facebook?
- 28. Facebook API y Facebook Connect usando Java?
- 29. Compartir el reproductor HTML5 en la pared de Facebook
- 30. ¿Cómo publicar un enlace con una imagen en Facebook usando Graph API?
¿Puedes publicar tu código actual? – Zarah
Lo descubrí. –
¿quizás podrías compartir tu solución? –