1

我的 facebook 墙贴和签到一直工作到上周……现在他们已经停止工作了。这真的很奇怪......我不确定是什么原因造成的。

我可以很好地登录facebook。事实证明,因为我可以收到我的 Facebook 个人资料图片。

在类扩展活动的顶部,我指定了这些字段:

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);

我在课堂上使用 facebook 对象。

这是我发布消息的方式:

            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);
             }

我授权 onCreate。这是我做的地方:

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()); }

}

我没有收到错误。它似乎有效,但没有出现在我的墙上。

我也收到了带有帖子 ID 的 Facebook 回复...该应用程序未被阻止在我的个人资料上发布。

我不知所措,试图找出问题所在。任何帮助都会很棒!

4

1 回答 1

0

我也收到带有帖子 ID 的 Facebook 回复...

如果您尝试通过该 ID 查找您的帖子,您会得到什么响应?

如果您可以通过这种方式查看您的帖子,那么它就不会显示在您的墙上(出于隐藏/删除以前的帖子、负面应用反馈等原因……)

于 2012-06-13T14:50:33.927 回答