Question

Je voudrais mettre en œuvre Chat fb à l'intérieur d'un page web. J'ai regardé autour de moi dans l'API Facebook, j'ai découvert que le chat n'était autorisé qu'à l'aide de XMPP. J'ai d'abord essayé de me connecter à FB-chat en utilisant Pidgin et cela a bien fonctionné. Ma conclusion était que le serveur FB-chat agit comme serveur XMPP. Est-ce vrai?

J'ai lu sur XMPP, il semble qu'une connexion TCP ouverte doit être établie entre le client et le serveur pour échanger les strophes XML, ce qui n'est pas possible à partir d'un site Web (sur JavaScript et sans plugins) car seules les demandes / réponses HTTP peuvent être des échanges, Pas de connexion TCP là-bas. Cela signifie qu'il devrait y avoir une sorte de proxy entre les deux, et en ce qui concerne l'authentification, l'API FB suggère d'utiliser le SASL X-Facebook-plateform (pas le digest MD5, car il y a un proxy). Je n'ai pas trouvé de tutoriel clair ou d'étapes comment le faire, l'aide ici est appréciée.

Un peu plus de recherches sur le client XMPP du Web ou du navigateur, j'ai vu que je suis censé utiliser une bibliothèque appelée Strophe (basé sur ÉTALAGES protocole) et dans d'autres réponses, une sorte de gestionnaire de connexion appelé Punjab. J'ai lu ce protocole BOSH, il semble que ce soit la solution, mais à certains endroits, j'ai découvert qu'il n'est pas autorisé dans FB (je ne sais pas à quel point cette information est correcte). J'ai essayé de les configurer mais j'étais totalement confus comment commencer et ce que je suis vraiment censé faire.

Pour la strophe, je n'ai pas trouvé de vrai tutoriel comment l'implémenter, et dans ce que j'ai trouvé, ils suggèrent d'abord de configurer un serveur Jabber comme Ejabberd (je n'en ai pas eu le besoin).

Ma question est:

Quelqu'un peut-il suggérer une architecture que je devrais mettre en œuvre pour atteindre mon objectif?

Il y aura donc: WEBPAGE -> (HTTP) -> Strophe -> (TCP) -> FB-CHAT Ou aura-t-il un serveur XMPP entre les deux et pourquoi?

J'apprécierais toute réponse à l'une de mes questions. Veuillez suggérer quelques liens vers la façon de mettre en œuvre toutes ces choses. Je suis totalement nouveau dans tout cela qui m'a fait perdre depuis plus d'une semaine maintenant.

Si quelqu'un a déjà fait cela, veuillez aider. Merci beaucoup.

Sabah

Était-ce utile?

La solution

J'essaie aussi de résoudre ce problème. Jusqu'à présent, j'ai décidé d'une configuration de:

Jappix Mini (utilise la bibliothèque jsjac.js) <-> Node-XMPP-Bosh sur Node.js sur mon serveur Facebook Server.

Jappix Mini était difficile à trouver, mais il semble de loin la meilleure barre de chat open source qui mérite d'être mentionnée ici.

Je n'ai pas encore tout configuré, mais je mettrai à jour ici si je fais des progrès. Le principal problème sera de savoir comment faire en sorte que JSJAC utilise l'authentification des clés de l'API Facebook. Je ne trouve aucune information ou exemples pour cela, mais j'ai trouvé ce plugin pour la bibliothèque Strophe qui peut être adaptée:

https://github.com/rubenjgarciab/turedsocial/blob/master/strophe-plugins/src/facebook.js

Enfin, vous ne pouvez pas inclure votre clé secrète Facebook en JavaScript (car c'est un secret!) -Facebook-Plateform Auth demande.

J'espère que cela aide, j'ajouterai plus si / quand je le ferai fonctionner.

Autres conseils

Informations sur le serveur de chat Facebook:

Protocol: XMPP or Jabber
Username: mathvdh
Domain: chat.facebook.com
Jabber ID: mathvdh@chat.facebook.com
Password: <your Facebook password>
Port: 5222
Server: chat.facebook.com
Use SSL/TLS: no
Allow plaintext authentication: no

Je pense que Strophe et le Punjab devraient être une combinaison de travail pour le chat FB, voir ici: Bibliothèque XMPP pour le chat Facebook

Et je pense que le schéma serait plus comme:

Client WebPage / JS / Strophe <-> votre serveur de chat Facebook XMPP Facebook <-> Facebook XMP

Sabah,

Comme mentionné dans les réponses précédentes, le Punjab <-> strophe.js fonctionne. J'ai fourni le client de Strophe Facebook ici: https://github.com/javierfigueroa/turedsocial Et j'ai ajouté un exemple.

J'espère que cela t'aides.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top