1

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

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

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

任何帮助表示赞赏,谢谢。

4

3 回答 3

3

发布您的代码如何将图像上传到 Facebook。这是一个对我来说运行良好的示例代码,看看可能对你有帮助。在我的代码中没有创建任何相册墙照片。我的照片被上传到墙上。看看...

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 是我的图像位图;希望对你有帮助。

于 2012-05-17T05:20:39.313 回答
1

尝试使用

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

代替

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

应该做的伎俩,它对我有用:)

附言。感谢用户分享他的答案,这真的很有帮助:D

于 2012-06-29T15:03:35.090 回答
0

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

在查询相册的 Graph API 时将locale参数设置为 - 然后您将获得“Wall Photos”而不是本地化的相册名称。en_US

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

呃,我不认为自己创建它是一个好主意,因为通常它是由 Facebook 自动创建的——所以当 FB 稍后为用户的第一张实际墙贴照片创建相册时,这可能会发生冲突。

于 2012-06-29T15:40:14.113 回答