如何实现facebook授权允许facebook通过android发布?

时间:2011-10-26 11:38:03

标签: android facebook

我在android上实现facebook post时遇到了一些问题。我试图以这样一种方式实现它,当我点击一个按钮时,它会自动发布到用户墙上。首先,我不知道在哪里保存用户登录信息,或者facebook api已经处理过了吗?最重要的是,我尝试了一些示例代码,我在授权facebookClient方面遇到了问题。

private Button.OnClickListener myButtonOnClickListener = new Button.OnClickListener (){

    @Override
    // on click load the asynctask to run.

    public void onClick(View arg0) {
        facebookClient = new Facebook(APP_ID);
        facebookAsync = new AsyncFacebookRunner(facebookClient);

        if (facebookClient.isSessionValid()) {
            uploadVideoFile();
        }
        else {
            facebookClient.authorize(this, new String[] {"publish_stream"}, new Facebook.DialogListener() {

                @Override
                public void onFacebookError(FacebookError e) {
                    (RESULT_CANCELED);
                }

                @Override
                public void onError(DialogError e) {
                 (RESULT_CANCELED);
                }

                @Override
                public void onComplete(Bundle values) {
                    uploadVideoFile();
                }

                @Override
                public void onCancel() {
                (RESULT_CANCELED);
                }
            });
        }

    };

facebookClient.authorize(this, new String[] {"publish_stream"}, new Facebook.DialogListener() 

它告诉我 The method authorize(Activity, String[], Facebook.DialogListener) in the type Facebook is not applicable for the arguments (new View.OnClickListener(){}, String[], new Facebook.DialogListener(){}).

我对此感到困惑和困惑,请任何帮助就足够了。

1 个答案:

答案 0 :(得分:0)

那是因为传递给authorize()方法的this是Activity的实例。尝试将其替换为onClickListener的名称,该名称应为myButtonOnClickListener