1

フィード ダイアログを使用していますが、使用しようとしている画像が表示されません。ダイアログには正しい説明とキャプションが表示されますが、画像は表示されません。

ここに私のJavaScriptがあります:

FB.ui(
  {
    method: 'feed',
    name: message,
    description: "...",
    caption: "...",
    link: "http://our_domain.com", 
    picture: "https://picture_stored_on_aws"
  },
  (response) ->
    window.close()
)

ただし、Facebook 開発サイトのこのサンプルのように、別の場所に保存されている画像を使用すると機能します: 'http://fbrell.com/f8.jpg'。

httpsを削除しようとしましたが、まだ画像がありません。他の誰かがこの問題に遭遇しましたか? awsで写真を参照することと関係がありますか?

4

3 に答える 3

1

S3Boto バックエンドで Django ストレージを使用すると、まったく同じ問題が発生しました。私にとっては、すべての GET パラメータを削除することで解決したので、元の生成された S3 リンクが次の場合:

https://[your account].s3.amazonaws.com/yourpic.jpg?Signature=[...]&Expires=[...]&AWSAccessKeyId=[...]

次のように解析する必要があります。

https://[your account].s3.amazonaws.com/yourpic.jpg

これは私にとってはうまくいきました。他の誰かに役立つことを願っています。

于 2012-12-30T09:13:07.787 に答える
1

ご存じのように、S3 で受け取ったリンクには有効期限があります。これは、ファイルが公開されておらず、自分のアカウントでのみ利用できるためです。Facebook フィード ダイアログで使用するには、画像を公開する必要があります。

AWS コンソールにログインし、S3 に移動し、使用するファイルを見つけてクリックし、右上の [プロパティ] ボタンをクリックします。ページの下部にウィンドウが表示されます。「権限」タブをクリックし、「すべてのユーザー」に対して「開く/ダウンロード」の権限があることを確認します。[詳細] タブに戻ると、公開されているリンクが表示されます。この画像リンクを使用すると、Facebook フィード ダイアログにも画像が表示されます。

于 2012-10-18T08:50:40.080 に答える
1

httpsを使用している可能性があります。配列内のhttp画像 URL でテストします。

FB.ui(
  {
    method: 'feed',
    name: message,
    description: "...",
    caption: "...",
    link: "http://our_domain.com", 
    picture: "http://picture_stored_on_aws"
  },
  (response) ->
    window.close()
)
于 2012-10-18T07:12:21.400 に答える