1

我想在 facebook 上发布带有消息和我的应用程序名称的图像。我的帖子必须是这样的:

在此处输入图像描述

我已经应用了以下代码

Bitmap bi = BitmapFactory.decodeResource(getResources(), R.drawable.bluerib);

ByteArrayOutputStream baos = new ByteArrayOutputStream();
bi.compress(Bitmap.CompressFormat.JPEG,100, baos);
data = baos.toByteArray();

Bundle params = new Bundle();
params.putByteArray("picture", data);
params.putString("method", messageToPost);

facebook.request("me");
String response = facebook.request("me/photos", params, "POST");

除了应用程序名称外,我可以成功地在 Facebook 上发送图像和按摩,但我想将其发布在 Facebook 墙上,我的照片不能保存在 Facebook 照片中,我希望左侧的图像完美对齐,然后是应用程序名称顶部和我的消息。如何做到这一点,我必须为此使用图形 API 吗?如果是如何使用它?如果没有,请为我提供解决方案。

4

1 回答 1

2

这里我是如何做到的。

private void publishFeedDialog() {
        System.out.println("Working");
        Bundle postParams = new Bundle();
        postParams.putString("name", "I am an Engineer");
        postParams.putString("caption",
                "Working very heard to make things work.");
        postParams
                .putString("description",
                        "This project is killing me, Still I am trying, and finally I got success.");
        postParams.putString("link", "http://www.kodebusters.com");
        postParams
                .putString(
                        "picture",
                        "http://cdn1.iconfinder.com/data/icons/iconslandsport/PNG/128x128/Soccer_Ball.png");

        new MYasync(postParams).execute();

    }

在 AsyncTask 上运行您的网络调用,或者它可能通过异常

 class MYasync extends AsyncTask<Void, Void, Void> {

            Bundle params;
            private String res;

            public MYasync(Bundle params) {
                super();
                this.params = params;
            }

            @Override
            protected void onPostExecute(Void result) {
                System.out.println(res);
                super.onPostExecute(result);
            }

            @Override
            protected Void doInBackground(Void... pp) {
                try {
                    res = facebook.request("me/feed", params, "POST");

                } catch (FileNotFoundException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } catch (MalformedURLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                return null;
            }

        }
于 2013-03-16T19:58:04.313 回答