Android facebook SDK,用不同语言的个人资料上传图片到墙上?

时间:2012-05-17 03:54:10

标签: android facebook upload image

目前我可以使用我的应用程序将消息和图片发布到我的墙上,通过查找专辑“Wall Photos”它到目前为止工作正常,我让我的一个朋友在他的手机上测试我的应用程序看到如果它适用于任何用户,当他试图上传图片时它不起作用,现在我认为这可能与他的个人资料是西班牙语的事实有关,所以寻找专辑“Wall photos”不可能,我看了他的相册,我惊讶地发现他的语言中没有任何“Wall photos”相册, 所以..长话短说:

a)如果用户的个人资料使用其他语言,我如何查找“Wall Photos”相册?

b)如果相册不存在,我如何创建“Wall Photos”相册?

感谢任何帮助,谢谢。

3 个答案:

答案 0 :(得分:3)

发布您的代码如何将图片上传到Facebook。这是一个示例代码,对我来说工作正常只是看看可能对您有所帮助。在我的代码中我没有创建任何专辑Wall Photos。我的照片上传到墙上。看看......

private void fbImageSubmit() {
    if (facebook != null) {
        if (facebook.isSessionValid()) {
            try {
                byte[] data = null;

                // Bitmap bi = BitmapFactory.decodeFile(Constants.imgShare);
                ByteArrayOutputStream baos = new ByteArrayOutputStream();

                bmScreen.compress(Bitmap.CompressFormat.JPEG, 100, baos);
                data = baos.toByteArray();

                Bundle parameters = new Bundle();
                parameters.putString("message", strmsg);
                parameters.putString("method", "photos.upload");
                parameters.putByteArray("picture", data);

                facebook.request(null, parameters, "POST");
                /*
                 * time = Calendar.getInstance().getTime().getHours() + ":"
                 * + Calendar.getInstance().getTime().getMinutes();
                 */

                currentTime = DateFormat.format("hh:mm", d.getTime());
                currentDate = DateFormat.format("dd/MM/yyyy", d.getTime());

                Cursor cursor = Constants.dbHelper
                        .GetDataFromImageName(Constants.enhancedImage
                                .getImagename());
                if (cursor.getCount() > 0) {
                    Constants.dbHelper.updateData(currentDate.toString(),
                            currentTime.toString(), "Facebook", "Image");
                } else {
                    Constants.dbHelper.insertData("true");
                }
                Toast.makeText(getApplicationContext(),
                        "Image uploaded successfully.", Toast.LENGTH_LONG)
                        .show();

            } catch (Exception e) {
                // TODO: handle exception
                System.out.println(e.getMessage());
            }
        }
    }
}

// bmscreen是我的图像位图; 希望可能对你有所帮助。

答案 1 :(得分:1)

尝试使用

parameters.putString("caption", "ooo xxx");

而不是

parameters.putString("message", "test post on wall");

应该做的伎俩,它适用于我:)

PS。感谢用户分享他的答案,这确实有帮助:D

答案 2 :(得分:0)

  

a)如果用户的个人资料使用其他语言,我如何查找“Wall Photos”相册?

在查询专辑的图谱API时,将locale参数设置为en_US,然后您将获得“Wall Photos”,而不是本地化的专辑名称。

  

b)如果相册不存在,我如何创建“Wall Photos”相册?

呃,我不认为自己创建会是一个好主意,因为通常它是由Facebook自动创建的 - 因此当FB稍后为用户的第一张实际壁挂照片创建一张专辑时,可能会发生冲突。