2

嗨,我想发布任何消息或链接到 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 页面上其他人的最新帖子”。

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

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

4

2 回答 2

3

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

于 2012-10-19T07:25:50.380 回答
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();
    }
}
于 2012-10-19T07:37:35.187 回答