Digging into the code further, I found this in fb-social-publisher.php starting at line 334:
try {
$publish_result = $facebook->api('/me/' . $options["app_namespace"] . ':publish', 'POST', array('message' => $author_message, 'article' => get_permalink($post_id)));
update_post_meta($post_id, 'fb_author_post_id', sanitize_text_field($publish_result['id']));
}
catch (FacebookApiException $e) {
//Unset the option to publish to an author's Timeline, since the likely failure is because the admin didn't set up the proper OG action and object in their App Settings
//if it's a token issue, it's because the Author hasn't auth'd the WP site yet, so don't unset the option (since that will turn it off for all authors)
if ($e->getType() != 'OAuthException') {
$options['social_publisher']['publish_to_authors_facebook_timeline'] = false;
update_option( 'fb_options', $options );
}
}
I would consider myself to be sub-novice in Facebook API programming, but is the /me supposed to be replaced with a user ID or something? Or is that just referring to whatever user is currently logged on in the browser session?
Regardless, that error handling is pretty bad — it just catches the exception and silently turns that option off, with no feedback that anything failed, nor any details as to what failed. In fact, the code seems to be littered with try/catch blocks that do nothing when catching an exception. I would add some error handling myself, but I’ve never programmed a WordPress plugin before and quick Googling didn’t show any handy “show this error in the admin header section” sort of function.
With the lack of error handling, this really isn’t version 1.0 of the plugin, it’s really more like version 0.1.