Прежде всего извиняюсь за длину этого вопроса и за вопрос о API Facebook (по-видимому, один из самых непоследовательных API в мире ...).Как сделать любой тип обмена информацией со вкладки Facebook?
Ситуация: Мы создаем страницу для сообщества пользователей сообщества «Facebook», в которой представлены стандартные вкладки Facebook, в одном из которых встроена флеш-игра. В конце этой игры мы хотели бы поделиться окончательным счетом пользователей через стену, а также пригласить друзей, чтобы оспорить счет.
Во-первых - клиент настаивает на том, что игра появляется на вкладке внутри страницы, поэтому перенос всего этого в приложение (например, apps.facebook.com
), к сожалению, не является вариантом. Я знаю, что вы можете встраивать приложение на вкладку вместо статического FMBL, но я пробовал это, и результат по существу тот же или не сработал (вкладка накладывает строгие ограничения на то, что можно визуализировать, принудительное использование FBML и отрицание FB:Iframe
тег для стартеров).
В настоящее время мы вставляем эту игру на статическую вкладку FBML, используя тег fb:swf
и FBJS-мост, чтобы включить некоторое простое взаимодействие на вкладке (переход в новое окно и т. Д.). Мы также попробовали подход внедрения FBJS и добавили игру в приложение и добавили это как вкладку на странице. Во всех случаях, кажется, нет способа получить UID пользователя просмотра в среде вкладки (несмотря на то, что они должны быть зарегистрированы для просмотра страницы в первую очередь). Сама игра - Flash ActionScript 3, и у меня есть возможность использовать API ActionScript 3 для Facebook. Используя этот подход, лучший способ я сумел придумать до сих пор приводится ниже:
0) Создать отдельное приложение с единственной целью борьбы с обменом баллов и т.д.
1) пользователь щелкает «Поделитесь своим счетом» в конце игры на странице TAB.
2) SWF выполняет стандартный запрос на вход в систему Facebook, открывая новую вкладку.
3) Пользователь подтверждает это действие и закрывает новое окно.
4) Пользователь еще раз щелкает в флэш-игры, чтобы подтвердить, что они вошли в систему.
5) SWF выполняет facbook.verifySession()
и открывает еще одно окно с просьбой разрешить размещать на стене пользователей.
6) Пользователь подтверждает это и снова возвращается к игре.
7) SWF прослушивает «FacebookEvent.PERMISSIONS_CHANGED» и отправляется на стену после подтверждения.
Поскольку нет способа проверить, добавил ли пользователь приложение при загрузке в него вкладки, вероятно, им придется следовать этому процессу каждый раз, когда они хотят опубликовать результат из игры, что является отвратительным. Основная проблема заключается в том, что любой , находящийся на вкладке Facebook, не получает полезной информации в токене OAuth для этой вкладки, в отличие от RIA, сидящего на apps.facebook.com
, который получает всю необходимую информацию в заголовках запроса.
Проще говоря, мне нужен простейший, самый простой способ сделать стенографию Facebook на странице страницы продукта Facebook, используя FMBL, FBJS, ActionScript 3, ASP или любую их комбинацию.
Я видел это: https://stackoverflow.com/questions/3674923/facebook-share-or-publish-dialogue-from-page-tab-closed, который действительно тот же вопрос, который я задаю, но ответ непонятен, и похоже, что это не решит мою проблему.
Если это не сработает, я бы предложил использовать iframe-приложение (можно включить вкладку) и с помощью js sdk выполнить вызовы на график api со вспышки. Должно быть довольно легко сделать вызовы в контексте пользователя без каких-либо проблем. – Jason