Top article image not showing when I share content with Facebook or Google Plus
We need to pass the url for the image derivative based on the style we're using.

So - not this:

[my_site]/sites/default/files/my_image.jpg


Rather, this:

[my_site]/sites/default/files/styles/large/public/field/image/my_image.jpg?itok=kB4r6YaD


This image derivative url is not part of the $node object, so we have a bit of wrangling to do. One way is to enable the php filter and use this as the value for facebookpost:field-facebook-picture:

&lt;?php
  if($node-&gt;field_image) {
    if(array_key_exists(0, $node-&gt;field_image['und'])) {
      $fid = $node-&gt;field_image['und'][0]['fid'];
      $result = db_select('file_managed', 'fm')
        -&gt;fields('fm', array('uri'))
        -&gt;condition('fm.fid', $fid,'=')
        -&gt;execute()
        -&gt;fetchAssoc();
      $path = $result['uri'];
      $style_name = 'your_style_name';
      print (image_style_url($style_name, $path));
    }
  }
?&gt;


I used similar logic in a custom token instead of using php evaluation for the value of facebookpost:field-facebook-picture.