Отправка фотографии в Facebook Open Graph от Heroku с использованием RoR, FbGraph Gem и S3 - PullRequest
0 голосов
/ 16 января 2012

Я пытаюсь разрешить пользователю поделиться фотографией на своей стене в Facebook.Я использую Paperclip для хранения всех фотографий моего приложения на S3.Таким образом, в приведенном ниже примере @ photo.image.url - это S3-URL изображения, которое я хочу опубликовать в some_album.Используя гем fb_graph это относительно просто для localhost.В моем контроллере у меня есть:

    the_photo = open(@photo.image.url)
    some_album.photo!(
      :access_token => access_token,
      :source => the_photo
    )

Класс the_photo на localhost - "Tempfile".

На героку все усложняется.При использовании одного и того же кода происходят две (казалось бы, связанные) вещи.Во-первых, the_photo это тип класса "stringIO".Во-вторых, когда FbGraph публикует сообщения в Facebook, я получаю следующую ошибку:

FbGraph::InvalidRequest (OAuthException :: (#324) Requires upload file):

Вот несколько важных моментов, которые также могут помочь:

  • Heroku - это система только для чтения, ноочевидно, вы можете написать в Tempfile
  • Я на Rails 3.1.0
  • Ruby 1.9.2
  • Heroku Stack Bamboo-Miri

Буду признателен за любую помощь / мысли / обходные пути / вопросы.

1 Ответ

1 голос
/ 20 января 2012

Я не уверен, почему это сработало, но у меня это сработало:

some_album.photo!(
  :access_token => access_token,
  :source => open(@photo.image.url)
)

в отличие от установки переменной photo_response = open (@ photo.image.url).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...