Question

Je souhaite écrire un programme qui analyse votre équipe de baseball fantastique et vous informe des actions recommandées, éventuellement plusieurs fois par jour. Le problème est que vous ne jouez pas au baseball fantastique sur mon site, vous jouez sur yahoo, cbs, espn, etc.

.

Sur la majorité de ces sites, les équipes et ligues fantasy ne sont pas publiques. Vous devez donc être connecté et membre de la ligue pour voir les équipes dans la ligue.

Tout ce dont j'ai besoin, c'est du code HTML simple pour la page d'équipe de chacun de ces sites à envoyer à mon serveur, où je peux ensuite analyser et analyser le fichier et envoyer des notifications aux utilisateurs.

Le problème, c’est que j’ai besoin de combinaisons de nom d’utilisateur / mot de passe pour transférer facilement ces données sur mon serveur quand j'en ai besoin, et je pense qu’il y aura beaucoup de gens qui ne voudront pas confier leur mot de passe yahoo / espn / cbs pour moi.

J'ai proposé plusieurs solutions pour résoudre ce problème:

  1. Le moyen le plus évident consiste à demander leurs informations d'identification pour le site sur lequel leur équipe est hébergée. Ensuite, je pourrais simplement me connecter par programme et demander les données dont j'ai besoin. Je suppose qu'un certain nombre de personnes seraient à l'aise de me donner leurs références, et d'autres pas beaucoup.

  2. Écrivez un client de bureau que l'utilisateur télécharge ensuite. Le client aurait besoin de ses informations d'identification, mais il pourrait alors faire exactement la même chose que la version sur serveur, se connecter, demander la page et renvoyer la page à mon serveur. La différence est que leur mot de passe n'aurait jamais besoin de quitter leur bureau. Leur ordinateur doit être allumé et ce programme doit être exécuté pour que cette méthode fonctionne.

  3. Ecrivez des modules complémentaires du navigateur qui permettent d'accéder à la page dont vous avez besoin, utilisez le cookie enregistré lors d'une connexion précédente pour vous connecter au site et renvoyez la page sur mon serveur. Cela ne nécessite pas que mon logiciel demande un mot de passe, mais si le cookie expire, je suis bloqué et je ne connais pas grand-chose des compléments de navigateur.

Je suis sûr qu'il existe d'autres options, mais ce sont celles que j'ai inventées jusqu'à présent.

J'ai deux questions: 1. Quelles sont les autres possibilités pour ce type de tâche? 2. Est-ce que je surestime la réticence des gens à me donner leur mot de passe yahoo (par exemple)? L’option (1) est-elle au-dessus du choix évident?

Dans les commentaires, il a été suggéré d’essayer les pipes yahoo. C’était une suggestion prometteuse et j’ai donc un peu exploré. Après avoir regardé ceci , je ne pense pas que ce soit une option. Donc, on dirait que je vais aller avec l'option 1.

Était-ce utile?

La solution

C’est un problème avec lequel je me suis débattu il ya quelques années lorsque je voulais faire la même chose. Notre site est http://benchcoach.com et les options que nous avons envisagées sont les suivantes:

Original, nous avons envisagé de récupérer les informations d'identification et de connexion de l'utilisateur. Nous nous connecterions ensuite pour récupérer leurs informations de ligue et d’équipe. Le problème, c’est qu’après avoir lu plusieurs conditions de service, cela violerait définitivement les conditions de service. En plus de cela, Yahoo! était certainement l'un des sites que nous envisagions et leurs utilisateurs ont un courrier électronique (où nous pourrions avoir accès à des données sensibles), et Yahoo! portefeuille. De plus, il serait assez facile pour Yahoo / ESPN / CBS de bloquer nos connexions programmatiques par adresse IP.

La solution sur laquelle nous avons opté (non pas à 100%, mais semble fonctionner) consistait à demander à nos utilisateurs d’installer un bookmarklet (par exemple, delicious, digg ou reddit) qui publierait la page html actuelle sur nos serveurs, où nous pourrions analyser les données et charger notre base de données. S'ils étaient toujours connectés à leur compte Yahoo / ESPN / CBS, nous les dirigerions directement vers les pages, sinon ces sites demanderaient l'authentification. En cliquant une nouvelle fois sur le bookmarklet, la page serait affichée sur nos serveurs.

Le principal avantage de cette approche est que nous n’avons jamais collecté les informations d’identité de qui que ce soit, de sorte que tout souci de sécurité aurait été atténué. Deuxièmement, cela empêcherait Yahoo / ESPN / CBS de bloquer l’accès à notre service, car nous ne nous connecterions jamais directement à leurs serveurs, mais le navigateur de l’utilisateur afficherait le contenu de son navigateur sur notre serveur.

Le problème, c’est qu’il faut 2 clics pour publier une page sur notre site. Pour les ligues face à face, nous avions besoin de 3 à 4 pages, il faudrait donc 6 à 8 clics à nos utilisateurs pour synchroniser leur ligue sur nos serveurs. Nous sommes toujours à la recherche d'options pour cela.

Une remarque importante est que j’ai rencontré le chef de produit du site Yahoo Fantasy Football lors d’une conférence il ya un an. Nous avons parlé de la manière dont nous obtenions les données de Yahoo, et il a confirmé qu’obtenir des informations d’authentification enfreindrait leur TOS et qu’ils pourraient nous arrêter. Bien que je ne pense pas qu'ils l'auraient fait, il aurait été difficile d'investir du temps et de l'énergie pour le développer, mais seulement pour qu'ils bloquent notre site et fassent chier les utilisateurs en fermant leurs comptes.

Autres conseils

Une réponse potentiellement plus compliquée pourrait éventuellement être faite avec (par exemple) des pipes yahoo.

En théorie, vous créez un canal qui invite l'utilisateur à entrer ses informations d'identification et lui fournit une URL contenant ses données récupérées. Ils entrent cette URL sur leur site et ne doivent jamais fournir leurs informations d'identification directement. Mieux encore, pour les personnes soucieuses de la sécurité, il serait possible d’examiner ce que fait réellement le tuyau avant de saisir des informations.

L’inconvénient serait une complexité accrue (ainsi que l’écriture et la maintenance du tuyau). Cela dit, vous pouvez créer un lien directement vers le pipe publié sur votre site, afin de simplifier au maximum les choses.

L'option 1 est le choix évident. Les personnes qui font confiance à votre site vous fourniront les détails. Il n’ya pas d’autre moyen de vous connecter à un autre site lors du nettoyage d’écran.

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