0

我在我的应用程序中使用编辑框和按钮在 Facebook 上发布状态。我不想使用 Facebook 对话框来获取帖子状态。相反,我希望我在编辑框中写入的状态在我单击按钮时发布在 Facebook 上。我正在使用这段代码:

public class PostToWallActivity extends Activity{
    public static final String APP_ID = "1****************";
    private Facebook facebook = new Facebook(APP_ID);

    protected void onCreate(Bundle savedInstanceState) {
        postTowallButton=(Button)findViewById(R.id.postTowall_btn);
        postTowallButton.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                postTowall();
            }
        });
    }

    private void postTowall() {
        facebook.dialog(this, "feed", new DialogListener() {
            @Override
            public void onFacebookError(FacebookError e) {
            }

            @Override
            public void onError(DialogError e) {
            }
            public void onComplete(Bundle values) {
                String sh = null;
                Bundle params = new Bundle();
                params.putString("caption", sh);
                mAsyncRunner.request("me/feed", params, 
                    "POST", new WallPostListener(), null);
                mRunOnUi.post(new Runnable() {
                    @Override
                    public void run() {
                        Toast.makeText(LogoutActivity.this, "Posted to Facebook",
                            Toast.LENGTH_SHORT).show();
                    }
                });
            }
            public void onCancel() {
            }
        });            
    }

    public class WallPostListener implements RequestListener {
        @Override
        public void onComplete(String response, Object state) {
            Log.d("Facebook-Example", "Got response: " + response);
        }
    }
} 

谁能帮我这个?

4

1 回答 1

0

您使用的是已弃用的 Facebook SDK 版本,请更新到最新版本。

听起来您想代表用户发布状态,这将要求您的应用向用户请求“publish_actions”权限,并使用 Graph API 发布。

查看最新版 SDK 附带的 HelloFacebook 示例应用程序。它向您展示了如何代表用户发布状态更新。

于 2013-08-09T16:18:07.200 回答