私のウェブサイトでog:image
を適切に設定すると、Facebookのリンターはそれを認識します (facebookデバッガー) しかし、画像は少なくとも200x200である必要があると表示されますが、そうではありません。私の画像は250x250 画像 。
問題の原因は何ですか?これはCloudfrontと関係がありますか?
Edit: I got around it by switching from this image to another image which is a
jpg image, but still I couldn't find the cause for the problem since the image
looks fine.
これは私に起こっていました。 meta og:imageタグのみを使用していました。頭に以下を追加しました
<link rel="image_src" type="image/jpeg" href="img_path" />
そしてそれは私のために問題を修正しました。
ここのスレッドは非常に役立ちます: og:image Open Graph Warnings image size
一般に、FBのパーサーは、(1)100の倍数で測定された画像と(2)正方形の形式の画像を優先します。
別の画像エディタで画像を再保存してみてください。画像のメタデータは、画像のサイズが実際とは異なることを示している場合があります。別のプログラム(私の場合はMSペイントを使用)で再保存すると、メタデータがFacebookに適したものになります。
同じ画像を変換するJPGからから[〜#〜] png [〜#〜]は私のために仕事をしました。
画像の画像パスにスペースがありました。
私の画像パスのように http://example.com/jodha akbar/ image.jpg
上記を観察した場合。 jodha akbarディレクトリにスペースがあります。
そして、Facebookは、この特殊文字が原因である可能性があるため、パスを取得していませんでした。
PHP str_replace関数を追加しました。それでうまくいきました。
str_replace(" ","%20",$image_path)
カスタムWebサーバーServeRickで同じエラーが発生しました。予期しない解決策は、画像付きのContent-Lengthヘッダーを送信することでした。このヘッダーがないと、Facebookは私のog:imageリンクを受け入れませんでした。