I have several objects hosted by Facebook that are posted to users' activity logs. The URL for the image is pointed to our content delivery solution, which redirects to a versioned image. This means that the URL can stay constant, but the image might change.
As you can see in this image
when the image changes, Facebook can still load it correctly (see the og:image column), but the image created in the actual post (see the hover text, which comes from https://fbexternal-a.akamaihd.net/safe_image.php) seems to be cached. I have found that changing the URL by adding a dummy parameter works (and we can do that if necessary), but if there's a way to force Facebook to refresh its cached image, that would be better. Does such a call or method exist?
In similar questions, I have heard that POST calls to
https://graph.facebook.com/?id=[ID]&scrape=true
can rescrape the data, but I have been unsuccessful with that call (it appears to only scrape the data if the object is self-hosted, is that right?).
There was also something about adding fbrefresh=[ANYTHING] to the URL, but it sounds like that is equivalent to adding a dummy parameter.
Also, using the debugger does not seem to do anything either. I have entered tried:
- http://developers.facebook.com/tools/debug/og/object?q=[ID]
- http://developers.facebook.com/tools/debug/og/object?q=[ID]&refresh=[ANYTHING]
- http://developers.facebook.com/tools/debug/og/object?q=[Image URL]
- http://developers.facebook.com/tools/debug/og/object?q=[Image URL]&refresh=[ANYTHING]
Also
- http://graph.facebook.com/?id=[ID]&scrape=true
All to no avail.
Lastly, does anyone know if/when the cache might be refresh normally? Or would it be expected that the image persists forever?