API загрузки рэйфбука и фейсбука - PullRequest
0 голосов
/ 08 марта 2010

Я использую гем rfacebook для взаимодействия с Facebook Connect. И у меня проблема с загрузкой изображений. Как сообщает API api, данные должны передаваться в виде хеша, подобного объекту json. Итак, я делаю хэш

publish_values = {
   :uid => @post.profile.channel_uid,
   :message => @post.content,
   :auto_publish => true,
}

unless @post.message.skip_link_info
publish_values[:attachment] = {}
publish_values[:attachment][:name] =  @post.message.link_title unless @post.message.link_title.blank?
publish_values[:attachment][:caption] = @post.message.link_title unless @post.message.link_title.blank?
publish_values[:attachment][:description] = @post.message.link_description unless @post.message.link_description.blank?
unless @post.message.no_thumbnail || @post.message.link_image_url.blank?
publish_values[:attachment][:media] = [{ :type => 'image', :src => @post.message.link_image_url, :href => @post.short_uri }]
  end
end

Но это не загрузка какого-либо изображения в Facebook, ответ xml говорит, что «свойства должны быть словарем». Так что я застрял здесь на пару дней. Это не имеет никакого смысла

Ответы [ 2 ]

0 голосов
/ 09 марта 2010

Как уже упоминал Тоби, вам стоит подумать о переходе на Facebooker. rFacebook уже давно не активно развивается.

Однако я полагаю, что причиной ошибки в вашем примере является то, что вам не хватает поля 'properties'.

Вот документация по потоковой публикации: http://wiki.developers.facebook.com/index.php/Attachment_%28Streams%29

Как видите, одно из обязательных значений - это хэш свойств.

Скорее всего, вам потребуется добавить такую ​​строку в ваш код (либо пустую, либо содержащую соответствующие значения в документации):

publish_values[:attachment][:properties] = { }

Удачи!

0 голосов
/ 09 марта 2010

Насколько я понимаю, rFacebook больше не поддерживается и Facebooker является любимой библиотекой Ruby> Facebook. Может найти лучшую поддержку ...

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