1

我正在尝试将 facebook 与我的 android 应用程序连接起来,我已经在 facebook 上创建了应用程序并获得了它的应用程序 ID。使用此 ID,此代码应发布在用户墙上。为什么下面的代码只是祝酒“在facebook上发布”而不是在我的墙上发布?

mFacebookBtn.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            Log.d("Facebook Activity", "After on create");
            mPrefs = getPreferences(MODE_PRIVATE);
            String access_token = mPrefs.getString("access_token", null);
            long expires = mPrefs.getLong("access_expires", 0);

            if (access_token != null) {
                facebook.setAccessToken(access_token);
            }
            if (!facebook.isSessionValid()) {

                facebook.authorize(FacebookActivity.this, PERMISSIONS,
                        new DialogListener() {
                            @Override
                            public void onComplete(Bundle values) {
                                SharedPreferences.Editor editor = mPrefs.edit();
                                editor.putString("access_token",
                                        facebook.getAccessToken());
                                editor.putLong("access_expires",
                                        facebook.getAccessExpires());
                                editor.commit();
                            }

                            @Override
                            public void onFacebookError(FacebookError error) {
                            }

                            @Override
                            public void onError(DialogError e) {
                            }

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


            Log.d("Facebook Activity", "Logged in in Facebook");
            facebookPost("Testing 1");
            try {
                facebook.logout(getApplicationContext());
            } catch (MalformedURLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

        }

        private void facebookPost(String string) {
            // TODO Auto-generated method stub
            // code for facebook post here
            Log.d("Facebook Activity", "Facebook Post Method");
            AsyncFacebookRunner mAsyncFbRunner = new AsyncFacebookRunner(
                    facebook);
            Bundle params = new Bundle();

            params.putString("message", string);

                params.putString("name", "Test Name");
                params.putString("caption","Test caption");
                params.putString("link","www.test.com");
                params.putString("description","test description");
                params.putString("picture", "www.somelink.com/image.gif");
            Log.d("Facebook Activity", "Firing Request to facebook");
            mAsyncFbRunner.request("Me/feed", params, "POST",
                    new RequestListener() {

                        @Override
                        public void onMalformedURLException(
                                MalformedURLException e, Object state) {
                            // TODO Auto-generated method stub
                            Toast.makeText(getApplicationContext(),
                                    "Malformed URL Exception",
                                    Toast.LENGTH_SHORT).show();
                        }

                        @Override
                        public void onIOException(IOException e,
                                Object state) {
                            // TODO Auto-generated method stub
                            Toast.makeText(getApplicationContext(),
                                    "Internet is not available", Toast.LENGTH_SHORT)
                                    .show();
                        }

                        @Override
                        public void onFileNotFoundException(
                                FileNotFoundException e, Object state) {
                            // TODO Auto-generated method stub

                        }

                        @Override
                        public void onFacebookError(FacebookError e,
                                Object state) {
                            // TODO Auto-generated method stub
                            Toast.makeText(getApplicationContext(),
                                    "Facebook Error", Toast.LENGTH_SHORT)
                                    .show();
                        }

                        @Override
                        public void onComplete(String response, Object state) {
                            // TODO Auto-generated method stub
                            mRunOnUi.post(new Runnable() {
                                @Override
                                public void run() {

                                    Toast.makeText(getApplicationContext(),
                                            "Posted to Facebook",
                                            Toast.LENGTH_SHORT).show();
                                }
                            });
                            // Toast.makeText(getApplicationContext(),
                            // "Posted to facebook",
                            // Toast.LENGTH_SHORT).show();
                        }
                    }, new Object());
        }
    });
}
4

1 回答 1

0
$status = $facebook->api('/me/feed', 'POST', 
array(
'message' => 'message . ',
'name' => 'name.',   
'caption' => "Caption of the Post",
'link' => 'https://www.facebook.com/biju.nemom',
'description' =>'this is a description',
'picture' => ' images/mis.jpg' 
)
);
于 2012-06-21T09:51:57.713 回答