Отправка уведомлений Facebook

#ruby-on-rails #facebook #facebooker #facebook-iframe

#ruby-on-rails #Facebook #facebooker #facebook-iframe

Вопрос:

У меня есть небольшое приложение facebook iframe, написанное с использованием rails и плагина facebooker. Я могу просмотреть друзей пользователей и посмотреть, есть ли у них также это приложение. Для этого я использую запрос fql и мой собственный html (без fbml). Теперь я хочу создать кнопку рядом с каждым другом, у которого нет этого приложения, которая отправляет приглашение на массаж. Возможно ли это сделать без этого FBML / JS voodoo? Я просмотрел RESTful api, но единственное, что я смог найти, был этот устаревший метод : (

Может кто-нибудь предоставить мне пример кода о том, как это сделать?

Я действительно не хочу использовать этот материал FBML, потому что он не вписывается в концепцию пользовательского интерфейса приложения, но если это единственный способ, пожалуйста, объясните, как это сделать (каждый тег fbml, который я пробовал, просто невидим : ( )

Большое спасибо.

Ответ №1:

В настоящее время для приглашения вы можете использовать только fb:request-form. внутри fb: формы запроса вам нужен следующий тег

 fb:multi-friend-selector
  

вот так:

 <fb:fbml>
  <fb:request-form
  action="index.php" 
  method="POST" 
  invite="true" 
  type="YOUR APP NAME" 
  content="Your text goes here. <?php echo htmlentities("<fb:req-choice url="YOUR CANVAS URL" label="Authorize My Application"") ?>" > 
  <fb:multi-friend-selector showborder="false" actiontext="Invite your friends to use YOUR APP NAME."> 
  </fb:request-form>
  </fb:fbml>
  

При этом отобразится селектор друзей с кнопкой пригласить, и пользователю необходимо выбрать друзей и нажать на пригласить. но для вас лучше использовать fb: request-form-submit вместо fb: multi-friend-selector с uid = «идентификатор пользователя целевого друга», например:

 <fb:fbml>
  <fb:request-form
  action="index.php" 
  method="POST" 
  invite="true" 
  type="YOUR APP NAME" 
  content="Your text goes here. <?php echo htmlentities("<fb:req-choice url="YOUR CANVAS URL" label="Authorize My Application"") ?>" > 
  <fb:request-form-submit uid="TARGETUID"/> 
  </fb:request-form>
  </fb:fbml>
  

здесь отображается только одна кнопка для приглашения указанного пользователя. Однако facebook говорит, что собирается отказаться от fb:request-form-submit, но это все еще работает.

Для отображения FBML вам необходимо создать свое приложение iframe XFBML и для этого вам необходимо включить Facebook Javascript библиотеки. затем поместите внутрь любой FBML, который вы хотите.

Ответ №2:

К сожалению, ваш единственный вариант с приложением iframe — использовать метод fb: serverfbml. Для этого вы можете использовать форму запроса fb:.

Смотрите: http://wiki.developers.facebook.com/index.php/Fb:serverFbml

Это определенно не тот способ, которым я надеялся реализовать, но это работает.