Question

Hello friends I want to post comment to particular post in facebook with my android app, below is my code-

I Fetch All comments from URL which is below

http://retirementhomeslisting.com/home-detail/canterbury-place-83

Bundle mBundle=new Bundle();
mBundle.putString("message","testing...1234555"); 
@SuppressWarnings("deprecation")
Facebook fb=new Facebook(getResources().getString(R.string.fb_app_id));
try {
    fb.request("478409145610921/comments",mBundle,"POST");
} catch (FileNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
} catch (MalformedURLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

Here I provide one link which you can see all comment list with respective above object_id

Link for comment list for 478409145610921 object_id

When i run above code comment is not post with respective object_id so Any idea how can i solve it? EDIT Answer

Bundle mBundle=new Bundle();
                        mBundle.putString("message","testing...1234555"); 
                        @SuppressWarnings("deprecation")
                        Facebook fb=new Facebook(getResources().getString(R.string.fb_app_id));
                        try {
                        fb.request("1309634065_478409145610921/comments",mBundle,"POST");

                        } catch (FileNotFoundException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        } catch (MalformedURLException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        } catch (IOException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }
Was it helpful?

Solution

To post a comment on a post, you need a post_id instead of object_id.

So your API call must be-

/{post_id}/comments

(post_id is also a field in the comments table)

Edit:

You must be using a comment plugin and trying to post a comment to that. Unfortunately, facebook don't allows you to do that! (Logical- since most of them are public, to avoid spamming, else anyone could flood comments to that post)

If you check the response here, you'll get:

{
  "error": {
     "message": "(#100) Comments may not be added to a comment plugin", 
     "type": "OAuthException", 
     "code": 100
  }
}

You can test these API call on Graph API Explorer also.

OTHER TIPS

Using Graph API:

...
if ([[FBSDKAccessToken currentAccessToken] hasGranted:@"publish_actions"]) {
    [[[FBSDKGraphRequest alloc]
      initWithGraphPath:@"post_id/likes"
      parameters: @{ @"like" : @"true"}
      HTTPMethod:@"POST"]
      startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
         if (!error) {
             NSLog(@"It was liked.");
         }
     }];
}
...
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top