#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
Это определенно не тот способ, которым я надеялся реализовать, но это работает.