问题
My Facebook feed dialog link correctly renders a dialog page, but the image set with the picture parameter does not show up -- just the gray line that indicates no picture.
I've changed picture files and types a few times, but the image still doesn't show up.
Here is the code:
$share_url = "https://www.facebook.com/dialog/feed?app_id=$app_id";
$share_url .= "&link=http://www.doozeez.com";
$share_url .= "&picture=http://doozeez.com/images/halloweenloot.png";
$share_url .= "&caption=to spend in the biggest rewards program in the www (whole wide world)";
$share_url .= "&name=doozeez ... get zeez for what you dooz";
$share_url .= "&description=grab your invitation to join me at the front of the line for doozeez launch";
$share_url .= "&redirect_uri=http://www.doozeez.com/";
echo("<script> top.location.href='" . $share_url . "'</script>");
I've done it with and without a urlencode() for the picture url, and that doesn't make a difference. I've also run it through the Facebook debugger linter.
Is there something we need to change in our php.ini file? Our image files seem to be unavailable to the Facebook platform. Yet, they display on the public web just fine.
Here is the rendered url: https://www.facebook.com/dialog/feed?app_id=192590464145496&link=http://www.doozeez.com/&picture=http://doozeez.com/images/halloweenloot.png&caption=to%20spend%20in%20the%20biggest%20rewards%20program%20in%20the%20www%20(whole%20wide%20world)&name=doozeez%20...%20get%20zeez%20for%20what%20you%20dooz&description=grab%20your%20invitation%20to%20join%20me%20at%20the%20front%20of%20the%20line%20for%20doozeez%20launch&redirect_uri=http://www.doozeez.com/
回答1:
In case anyone else encounters this issue, make note that Facebook requires your image to an have extension (even if you already use the proper headers). This is true even if your image works in the lint tool without an extension like .png
or .jpg
.
回答2:
I had a similar problem with a .png image
I change the image format to .gif and it resolved itself.
回答3:
Facebook gets a 404 Error when accessing your images please check your .htaccess file.
http://developers.facebook.com/tools/debug/og/object?q=http%3A%2F%2Fdoozeez.com%2Fimages%2Fhalloweenloot.png
Greetings, Frederick
回答4:
Since october 1st 2011 every pagetab needs https too.
https://developers.facebook.com/roadmap/
But my image doesn't show up in the feed dialog, althought it's shown up in the fb debug console... :S
回答5:
An alternative problem I experienced was that I had already shared the image to facebook and at that time had authentication enabled for the site, which I then disabled. However when I tried to share with facebook it had seemed to cache the previous issue and that was causing the problem. Changing the file name or trying again later would resolve it. In my case I deleted the image and made a new one (they were dynamic)
回答6:
For me what solved this was changing the protocol from https to http and changing the image format from png to jpg
回答7:
Just in case some one still is looking for an answer. I found out that my domain had Hotlink Protection on, that's why it was stopping all images from directly being referenced. So in order for Facebook to reference my images directly, I had to turn off Hotlink Protection. Another alternative (better one, I guess) is only to add facebook.com as an exception to be able to hotlink your images.
My web host was Godaddy.
回答8:
for me: I had lowercase .jpg
in the url string, but the actual image file was uppercase `.JPG'
来源:https://stackoverflow.com/questions/7721687/feed-dialog-picture-not-showing-up