Facebook Chat Bot с использованием Google App Engine
Я много копался в интернете, но, будучи новичком, ничего не мог поделать. Я подытожил следующее: Facebook Chat можно использовать с помощью двух аутентификаций (через официальную документацию Facebook Chat API):
1> X-FACEBOOK-PLATFORM 2> DIGEST-MD5
Метод 1> X-FACEBOOK-PLATFORM содержит очень мало документации, ни одна из которых не является официальной, наиболее близкой к ней является pyfacebook & pyxmpp (официальная страница API чата в Facebook имеет ссылку в конце). Внедрение обоих в GAE - еще одна головная боль, кроме проблем отладки, которые возникают при этом. Создание приложений и использование их идентификатора, как указано в некоторых ресурсах, не является проблемой. Я нашел хорошее прохождение GAE по pyfacebook на riccomini.name/Topics/Web/GoogleAppEngine/FacebookConnect/
2> DIGEST-MD5 - это распространенный метод имени пользователя - пароля, который может быть установлен любым клиентом xmpp. Поэтому я мог бы использовать клиентскую библиотеку XMPP python, такую как xmpppy, которая подошла мне лучше всего (так как мне не нужны расширенные функции)
Подходя к моему вопросу: правильно ли сделан мой вывод? Я думаю, чтобы продолжить через метод 2 (я хорошо осведомлен о рисках безопасности, связанных с шифрованием пароля MD5, пожалуйста, не напоминайте мне об этом). Я не смог найти оправдания использованию xmpppy с GAE, так что я действую правильно?
Может ли кто-нибудь предоставить мне ссылку на xmpppy, используемый вместе с GAE??
(Прошу прощения, если мне было неясно. Не могу помочь, я не инженер Силиконовой долины, а простой ученик в возрасте 15 лет)
3 ответа
Вы не можете подключиться к внешним серверам XMPP с помощью App Engine, поэтому, если Facebook это требуется для интеграции в чат, это невозможно.
GAE имеет встроенный сервис XMPP. Возможно, вы можете использовать это вместо xmpppy.
http://code.google.com/appengine/docs/python/xmpp/overview.html
Вы должны взглянуть на XEP-206 (XMPP Over BOSH) для подключения к XMPP через HTTP-протокол. http://xmpp.org/extensions/xep-0206.html
Я не знаю, поддерживает ли FaceBook BOSH все же.
Вам нужен c2s-протокол для общения с FaceBook, так как s2s-протокол (федерация) не реализован в FaceBook.