2010-01-26 8 views
5

J'ai besoin d'une application Facebook qui se place en arrière-plan des opérations de l'utilisateur. Une fois l'application installée par l'utilisateur, il continuera à envoyer les mises à jour de statut de l'utilisateur, les connexions de nouveaux amis, etc. à une autre application Web. Il continuera à obtenir des informations, peu importe si la page de l'application est ouverte ou non.Est-il possible d'avoir une application Facebook de «fond»?

Ma question est - est-ce possible? Jusqu'à présent, j'ai joué autour d'une application simple iFrame écrite avec l'API Java. Il semble qu'il ne peut effectuer des collectes de données que lorsque la page est touchée.

EDIT: La confidentialité est certainement une préoccupation valable ici. Mais l'application demandera certainement l'autorisation même si l'API FB n'est pas intégrée pour le faire.

+5

En tant qu'utilisateur Facebook occasionnel qui est un peu préoccupé par la protection de la vie privée, j'espère que la réponse à cette question sera «non» ... :) – stakx

+4

J'espère certainement pas. – BoltBait

+0

Ceci est contraire à leurs conditions d'utilisation, et devrait être. –

Répondre

1

Vous pouvez demander à l'utilisateur offline_access extended permission en utilisant le fb:prompt-permission FBML tag: <fb:prompt-permission perms="offline_access">Can I have access to your data all the time?</fb:prompt-permission>, stocker la clé de session de l'utilisateur dans votre base de données, puis interroger l'API Facebook au besoin. (Il se peut que vous ayez besoin d'autres autorisations étendues si vous souhaitez accéder à d'autres données qui ne constituent pas un appel API standard.)

Notez que cela ne va pas à l'encontre des conditions d'utilisation, mais vous ne serez pas autorisé à stocker l'une des données que vous recevez pendant plus de 24 heures.

+0

Merci pour cette réponse. Maintenant, je vais creuser comment faire l'API Java ...: D – tomato

0

Non. Facebook ne veut pas que les applications aient trop de données utilisateur en général, et ne veut surtout pas qu'elles y accèdent lorsque l'utilisateur n'interagit pas activement avec l'application. Heck, les clés de session infinies ne sont même plus pris en charge plus. Ceux qui sont toujours là ont tous été acquis.

+0

Les sessions infinies par défaut ont été supprimées, mais les clés de session infinies sont toujours prises en charge via l'autorisation étendue offline_access. Voir la moitié inférieure de cette page: http://wiki.developers.facebook.com/index.php/Authorizing_Applications#About_Session_Keys –

1

Tho Je ne le suggèrerai pas, mais si vous créez une "application" qui a un compte utilisateur associé, que vous demandez ensuite à l'utilisateur de l'application facebook d'ajouter en tant qu'ami, alors vous pouvez réaliser ce que vous voulez dans la question. Par exemple, disons que votre application était iFacebook - alors vous créez un compte utilisateur régulier appelé iFacebook Friend, et demandez aux utilisateurs de votre application iFacebook d'ajouter iFacebook Friend à leur liste d'amis (*). Ensuite, vous pouvez gratter les données de vos utilisateurs de l'application via le compte Facebook «Friend iFacebook». Toutefois, cela va probablement enfreindre certaines règles d'utilisation de Facebook, et risque de vous voir bannir ou signalé comme une violation de la vie privée. Cependant, si ce que votre application fait est assez utile, certaines personnes vont heureusement laisser la vie privée aller ...

(*) vous pouvez les inciter à le faire en leur donnant des incitations, telles que des points bonus, des 'trucs' exclusifs qui seulement ceux qui ont ajouté l'ami obtiendraient.

+0

Alors que votre réponse est techniquement juste, je veux voter parce que c'est juste faux - moralement, que est. J'espère que vous utilisez vos compétences pour le bien et non le mal, Chii :) – ewall

+0

Eh bien, j'essaie d'utiliser ma compétence pour de bon, mais parfois le mal paie un peu mieux malheureusement ...cependant, il y a certaines choses que je ne ferai pas, et la réponse que j'ai eue ci-dessus est l'une de celles que je ne ferai probablement pas =) – Chii

+0

Créer un compte d'utilisateur associé est certainement une approche intéressante ici. Merci pour l'info. :) – tomato