简体   繁体   中英

me/feed not posting to facebook wall

My facebook wall posting AND checkins were working until last week... Now they have stopped working. it is really strange... I am not sure what is causing it.

I can login to facebook fine. That is proven because I can receive my facebook profile picture.

At the top of the class extending activity I have specified these fields:

private static final String APP_ID = "286529654765268";
private static final String[] PERMISSIONS = {"publish_stream", "publish_actions", "publish_checkins", "create_event"};
private static final String TOKEN = "access_token";
private static final String EXPIRES = "expires_in";
private static final String KEY = "facebook-credentials";
private Facebook facebook = new Facebook(APP_ID);

I use the facebook object throughout my class.

This is how I post a message:

            defaultMessage = edittext.getText().toString();
            String response = null;
            try{
                SharedPreferences sharedPreferences = getApplicationContext().getSharedPreferences("settings", 0);
            String imageUrl = "www.somesite.com/somejpg.jpg";
             Bundle params = new Bundle();
             params.putString(Facebook.TOKEN, facebook.getAccessToken());
             params.putString("caption", defaultMessage);
             params.putString("description", "a description");
             params.putString("picture", imageUrl);
             params.putString("name", "A Name");

//
             response = facebook.request("me/feed", params, "POST");
             facebook.request("me/feed", params, "POST");
            } catch(Exception e){
                e.getStackTrace();
            }
             if(response != "false" || response != null){
                 Toast.makeText(getApplicationContext(), "Status Updated Successfully!", Toast.LENGTH_LONG).show();
                 Log.e("facebook response", response);
             }

I authorize onCreate. Here is where I do it:

public void facebookAuthorize(){
    facebook.authorize(this, PERMISSIONS, Facebook.FORCE_DIALOG_AUTH, new DialogListener() {
        @Override
        public void onComplete(Bundle values) {

            String me = null;
            String id = null;

            try {
                me = facebook.request("me");
            } catch (MalformedURLException e2) {
                // TODO Auto-generated catch block
                e2.printStackTrace();
            } catch (IOException e2) {
                // TODO Auto-generated catch block
                e2.printStackTrace();
            }


            JSONObject json_id = null;
            try {
                json_id = new JSONObject(me);
            } catch (org.json.JSONException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

            try {
                id = json_id.getString("id");
            } catch (org.json.JSONException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

            Log.e("Id", id);

            URL img_value = null;
             try {
                img_value = new URL("http://graph.facebook.com/"+id+"/picture?type=large");
            } catch (MalformedURLException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }
             Bitmap mIcon1 = null;
            try {
                mIcon1 = BitmapFactory.decodeStream(img_value.openConnection().getInputStream());
            } catch (IOException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }
            if(mIcon1 != null){
             badge.setImageBitmap(mIcon1);
            }

            Toast.makeText(getApplicationContext(), "Successfully logged in!", Toast.LENGTH_LONG).show();


        }

        @Override
        public void onFacebookError(FacebookError error) {}

        @Override
        public void onCancel() {}

        @Override
        public void onError(com.facebook.android.DialogError e) {
            // TODO Auto-generated method stub

        }
    });

    if(restore(facebook, getApplicationContext())){
    //authorize the user. 
    facebook.authorize(this, PERMISSIONS, Facebook.FORCE_DIALOG_AUTH, new DialogListener() {
        @Override
        public void onComplete(Bundle values) {
            Toast.makeText(getApplicationContext(), "Successfully Logged In to facebook!", Toast.LENGTH_LONG).show();
        }

        @Override
        public void onCancel() {}

        @Override
        public void onFacebookError(com.facebook.android.FacebookError e) {
            e.printStackTrace();
                        if(facebook.isSessionValid()){
                Toast.makeText(getApplicationContext(), "Successfully Logged in to Facebook!", Toast.LENGTH_LONG).show();
                // download the users avatar

                        }
            else{
                Log.e("FACEBOOK FAIL", "Facebook has epicly failed with an error in onCreate in Social Sharing or you are logged in already");
            }
        }

        @Override
        public void onError(com.facebook.android.DialogError e) {
            // TODO Auto-generated method stub

        }
    });
    } else { save(facebook, getApplicationContext()); }

}

I do not get an error. It appears to work but does not appear on my wall.

I get a facebook response with a post id too... The application is not blocked from posting on my profile.

Im at my wits end trying to figure out the issue. Any help would be great!.

I get a facebook response with a post id too...

What response do you get if you try to look up your post via that id?

If you can see your post this way, then it's just not displayed on your wall (for reasons such as hiding/deleting previous posts, negative app feedback, …)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM