0

S3 バケットのアクセス許可に関連しているように見える Facebook SDK でエラーが発生しています。ストレージ用に Amazon S3 で Paperclip gem を使用して Ruby on Rails を使用しています。

ここに画像の説明を入力

現在、次のようなダイアログ設定があります。

FB.ui({
    method: 'feed',
    name: "Check out this project on WorkHands",
    picture: "https://workhands_images.s3.amazonaws.com/images/avatars/1100/original/2013-08-05_04_13_28__0000.jpeg?1376351034",
    link: link.attr('href'),
    caption: 'Work by',
    description: "hello",
    display: 'popup',
    redirect_ui: window.location.origin
}

S3 と関係があると思う理由は、S3 にない別の src から (Google 画像からでも) 画像の URL を渡すことができ、ダイアログが完全に正常に機能するためです。

私の理解では、Paperclip はデフォルトで各オブジェクトの ACL を public_read に設定します。https://github.com/thoughtbot/paperclip/blob/master/lib/paperclip/storage/s3.rb

ここの例のようなバケット ポリシーを設定しようとしました: http://ariejan.net/2010/12/24/public-readable-amazon-s3-bucket-policy/

しかし、それは何も修正していないようでした。

上の画像の場合、 を呼び出すとs3object.acle.grants.inspect、次のような XML が取得されます。

[<Grant><Grantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"CanonicalUser\"><ID>0e77d1de2a82b95d7b735e0071296ef5f903fa17ba0b98ecfe5ab2d36a8f17d0</ID>

cush4437FULL_CONTROL、http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"Group\"> http://acs.amazonaws.com/groups/global/AllUsers READ]

4

3 に答える 3

1

「?」の後の数字だと思います。あなたのURLで。Facebook は (おそらく?) URL クエリを「k=v」形式でフォーマットすることに厳格であり、「=」がないため不満です。

于 2013-08-14T00:20:19.360 に答える