如何在Android的Facebook页面墙上发布?

时间:2012-10-19 07:18:20

标签: android facebook facebook-graph-api

您好我想发布任何消息或链接到Facebook页面。我试过的是这个。

void postInfo()
    {
        try
        {
            Bundle parameters = new Bundle();
            parameters.putString("message", messageFacebook);
            parameters.putString("name", "Test Name");
            parameters.putString("link", "http://www.mylink.com/");
            parameters.putString("picture", imageUrl);
            parameters.putString("display", "page");

            String responsePost = facebook.request("me/feed", parameters, "POST");
            String responsePagePost = facebook.request(FACEBOOK_PAGE_ID+"/feed", parameters, "POST");

            Log.i(TAG, "responsePost = " + responsePost);
            Log.i(TAG, "responsePagePost = " + responsePagePost);
        } catch (MalformedURLException e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

我正在做的是发布用户墙壁和链接的链接。也到我的应用程序的Facebook页面。 此代码工作正常,但问题出现在Facebook页面上。我在Facebook页面上发布的链接没有出现在页面的墙上,但它出现在页面的时间轴上,标题为“ MyApp页面上的其他人最近的帖子

我希望帖子应该出现在墙上而不是时间轴上。

我该怎么办我没有得到请求帮助。

2 个答案:

答案 0 :(得分:3)

Facebook已将其所有个人资料更改为时间表。任何Facebook页面都会将其他人的帖子显示为“MyApp页面上的其他人最近的帖子”。此行为由Facebook控制,而不是由您的应用程序控制。在这种情况下你无能为力。

答案 1 :(得分:1)

试试这个:

void postInfo()
  {
    try
    {
        Bundle parameters = new Bundle();
        parameters.putString("message", messageFacebook);
        parameters.putString("name", "Test Name");
        parameters.putString("link", "http://www.mylink.com/");
        parameters.putString("picture", imageUrl);
        parameters.putString("display", "page");

        facebook.dialog(this, "stream.publish", params,
                new DialogListener() {

                    public void onFacebookError(FacebookError e) {
                        e.printStackTrace();
                    }

                    public void onError(DialogError e) {
                        // TODO Auto-generated method stub
                        e.printStackTrace();

                    }

                    public void onComplete(Bundle values) {

                    }

                    public void onCancel() {

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