在facebook上发布带有文本的图像

时间:2012-08-11 18:01:49

标签: android facebook

如何在Facebook上发布带有文字的图像?我知道如何发布文字,链接,但我也想张贴图片。

以下是我的尝试:

 byte[] data = null;
 Bitmap bi = BitmapFactory.decodeFile("R.drawable.plate1");
 ByteArrayOutputStream baos = new ByteArrayOutputStream();
 bi.compress(Bitmap.CompressFormat.JPEG, 100, baos);
 data = baos.toByteArray();
 parameters.putByteArray("picture", data);

 int plate = getResources().getIdentifier("com.b2creativedesigns.eyetest:drawable/plate1", null, null);
 parameters.putString("picture", String.valueOf(plate)); 

它们都不起作用。当我尝试发布时,没有任何反应。什么都没发布。使用下面的代码,它可以工作。

从网站发布图片很简单,但当网站关闭或链接被修改时,它将无效。

  parameters.putString("picture", "https://lh3.ggpht.com/f79UCpnLisZxO2P2C43f55YLvFpNco_cTcC-t9Ck-Qmqe5jwKbfnUvCh5N6-Te-mOw=w124");

第3个例子:

  byte[] data = null;
  Bitmap bi = BitmapFactory.decodeFile("R.drawable.plate1");
  ByteArrayOutputStream baos = new ByteArrayOutputStream();
  bi.compress(Bitmap.CompressFormat.JPEG, 100, baos);
  data = baos.toByteArray();
  parameters.putString("method", "photos.upload");
  parameters.putByteArray("picture", data);

1 个答案:

答案 0 :(得分:0)

编辑:抱歉,我不应该提供有关如何使用REST API的建议,因为它已被弃用。这是使用Graph API将照片上传到您自己的墙上的方法。

Bundle params = new Bundle();
params.putByteArray("photo", data);
params.putString("caption", "Test photo upload");
    mAsyncRunner.request("me/photos", params, "POST",
    new PhotoUploadListener(), null);

请尝试这个,看它是否有效。这是我们的文档中的HackBook示例。对于图像的压缩,您可以在我们的SDK中使用我们的Utility.scaleImage方法,该方法将执行所有压缩和缩放以匹配Facebook的标准。

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

原始信息:

photos.upload正在使用REST API并且已弃用,因此我建议使用Graph API上传照片,但这是使用REST API的快速而肮脏的解决方案。

将字节数组放在data之类的变量中后,请执行以下操作:

Bundle params = new Bundle();
params.putString("method", "photos.upload");
params.putByteArray("picture", data);
mFacebook.request(params);

如果有帮助,请告诉我。