Me gustaría saber si es posible y, de ser así, cómo puedo transmitir los datos de imágenes en bruto en lugar de especificar la URL a una imagen en la web cuando publico en mi ¿Muro de Facebook?Publicación de datos de imágenes en bruto en lugar de URL con Android SDK de Facebook
El código de trabajo ya tengo los resultados en esta:
http://1.bp.blogspot.com/-klSLFEmvHy0/TxpPMIay0xI/AAAAAAAAAKQ/iLZv-QtmThc/s1600/fbpost.JPG (lo siento, no tengo suficientes créditos para incrustar imágenes para abrir la URL favor :-)
¿Qué es lo que quiero moreorless con el título, título, enlaces, etc., pero mi objetivo final es hacer que la imagen en forma de corazón que se muestra arriba sea la que genera mi aplicación cada vez que un usuario decide publicar sus resultados en Facebook (los contenidos se generan dinámicamente en el imagen). No quiero implementar la carga de un servidor de terceros y luego compartir esa URL.
que he visto alrededor de la gente que se refieren al código como este:
...
byte[] data = null;
Bitmap bi = BitmapFactory.decodeFile(imagePath);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bi.compress(Bitmap.CompressFormat.JPEG, 100, baos);
data = baos.toByteArray();
params.putByteArray(...
pero que parece ser para subir fotos directamente a un disco que no es lo que yo quiero tampoco.
Mi código de trabajo hasta ahora es:
private void loginAndPostToFacebook() {
mFacebook = new Facebook(FACEBOOK_APP_ID);
mFacebook.authorize(this, new String[] { "publish_stream" }, new DialogListener() {
@Override
public void onComplete(Bundle values) {
postOnWall();
}
@Override
public void onFacebookError(FacebookError error) {
L.t(getString(R.string.error_facebook_error) + ": " + error.getMessage());
}
@Override
public void onError(DialogError e) {
L.t(getString(R.string.error_facebook_error) + ": " + e.getMessage());
}
@Override
public void onCancel() {
}
});
}
public void postOnWall() {
Bundle params = new Bundle();
// Message
params.putString("message", "my msg");
// Name
params.putString("name", "app name");
// Caption
params.putString("caption", "caption");
// Description
params.putString("description", "description");
// Here's where I'd insert my dynamically generated image data...
params.putString("picture", "http://4.bp.blogspot.com/-VaNzm3xMOtk/TxpKzhxpdEI/AAAAAAAAAKI/08Kc5b4HW0Q/s1600/sexometer128x128neutral_icon.png");
// Link
params.putString("link", "http://www.stackoverflow.com");
try {
String response = mFacebook.request("me");
response = mFacebook.request("me/feed", params, "POST");
if (response == null || response.equals("") || response.equals("false")) {
L.t(getString(R.string.error_facebook_error) + ": blank response");
return;
} else if (response.toLowerCase().contains("error")) {
L.t(getString(R.string.error_facebook_error) + ": " + response);
return;
}
} catch(Exception e) {
L.t(getString(R.string.error_facebook_error) + ": " + e.getMessage());
return;
}
L.t(getString(R.string.success_posted_to_facebook));
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (mFacebook != null) {
mFacebook.authorizeCallback(requestCode, resultCode, data);
}
}