5

Facebook が壁の投稿で画像をレンダリングする方法が必要です。場合によっては、次のように画像へのリンクをコピーして貼り付けるだけで済みます。Facebook ウォール ポストのレンダリング イメージの作業

しかし、S3 にある、リンクする必要がある画像を使用すると、次のようになります。Facebook ウォール投稿で画像リンクがレンダリングされない

ここをクリックして、2 番目のリンクが実際に有効な画像アドレスであることを確認できます(不気味な手描きのスマイリー フェイスが表示されるはずです)。

サイトで通常の Facebook GUI を使用してこのテストを行いましたが、Open Graph API を介して Facebook と統合するアプリでこの質問への回答を使用します。(この質問はプログラミングに関係ないと誰かが思った場合に備えて)。

投稿で2番目の画像をレンダリングするために何をする必要があるか知っている人はいますか?

4

2 に答える 2

1

重要なのは画像サイズです。魔法の数は何ですかと聞かないでください。ただし、大きい画像は機能し、小さい画像は機能しません。Facebookが使用するプレビューサイズよりも大きくする必要がある可能性があります。

私のテストでは、静的なWebサイト構成をオフにしました。

于 2013-01-13T23:02:45.253 に答える
1

私の推測では、静的リンクのみが Facebook の投稿のサムネイルを生成します。使用しようとしているリンクは静的なものではありません。

これは、サムネイルを生成しようとしたときに Facebook が取得するものです。

<Error>
<SCRIPT/>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
<RequestId>D577337ADC9FA36A</RequestId>
<HostId>
DN9BnBduVLgHbf2lONA+e/fXQIOuT7W3WOFUPdthdpP2MZQhSLlolTvyJ0t9eZXn
</HostId>
</Error>

解決 :

それを機能させるには、任意のサブドメインを任意のバケットにマップするだけではできないことがわかりました。完全修飾サブドメイン名は、S3 バケット名と同じである必要があります。

  1. サイトの名前が static.mydomain.com であるとします。次に、同じ名前で static.mydomain.com という名前の S3 バケットを作成する必要があります。

  2. そのバケットを S3 静的 Web サイトとして構成すると、次のような URL が割り当てられますhttp://static.mydomain.com.s3-website-us-east-1.amazonaws.com

  3. ドメイン ホストに移動し、サブドメインを手順 2 の URL にマップします。enom.com では、ホスト「静的」をアドレス「static.mydomain.com.s3-website-us-east-1.amazonaws.com」にCNAME レコードとしてマップすることを意味します。

Source S3 アカウントから静的サイトをホストするのに役立ちます。そのカスタム ドメイン URL パスの画像を使用します。それはうまくいきます。

于 2013-01-13T19:12:42.777 に答える