2013-02-28 2 views
6

Je pense sur la façon de résoudre le problème suivant:
Android Facebook intégration d'applications avec GAE

  1. Une application Android que je veux me connecter à facebook et à un système de serveur (SRV).
  2. Serveur backend (Srv) que je veux connecter à facebook.
  3. Le serveur exécutera une tâche qui obtiendra tous les amis de l'utilisateur (sur fb), et les statuts utilisateur (sur Fb), et les stocker sur lui.

hypothèses de base:

  1. J'utilise Android comme un appareil mobile
  2. Server est GAE
  3. clé Entité GAE est FB-id de l'utilisateur
  4. utilisateur L'entité contient:
    1. Utilisateur fb_id
    2. Liste vérifiée par l'utilisateur (FB_ID String) => amis de l'utilisateur qui ont l'application) // peut-être utiliser HT?
    3. liste des statuts de l'utilisateur (texte d'état, la date, URL) => tout ce que je peux obtenir d'un statut d'un utilisateur facebook ..

questions principales:

  1. La représentation de données est-elle pensée? peut-il être meilleur?
  2. Comment gérer une situation dans laquelle deux utilisateurs connectés les uns aux autres ajoutent l'application en même temps - comment éviter les chevauchements?
  3. L'appareil doit-il s'authentifier, également avec le serveur GAE?
  4. Comment Authentifier GAE avec FB

algorithme:

côté Android:

User login and get access token from FB 
Posting to my server(Srv) FB Token & myUserFBId // Should I use REST protocol or HTTP 

POST?

côté serveur:

A Servlet handles the POST 
    { 
    Query FB ->for the user's friends ids(into friendList = arrayList<FBItem)) 
    foreach FBItem item in friendList 
    { 
    //check which FB-ids are in my DB 
     friendEntity = getKey(item.fb_id) 
     if(friendEntity != null) 
     { 
     // friend exists 
     verifiedFriendsList.add(item.fb_id) //verifiedFriendsList is ArrayList<String> 
     friendEntity.getVerifiedFriendList().add(myUserFBId) 
     } 
    } 
    Query FB ->for the user's statuses(into statuses = arrayList<StatusItem)) 
    add new FBEntity(myUserFBId, verifiedFriendsList, statuses) to DB } 

Merci

Répondre

4

Je n'ai rien fait comme ça, mais je pense que vous devez

  1. Demander à l'utilisateur d'authentifier votre application à utiliser FB- Lire à propos de OAuth Api de Facebook
  2. Une fois que votre application est authentifiée avec des autorisations suffisantes, vous pouvez obtenir les données des utilisateurs selon votre besoin ments.
  3. Une fois que vous obtenez les données, vous pouvez les traiter.

OAuth sur FB est ce que vous recherchez ..

1

Je vais vous donner mes 4 cents:

  1. Les questions qui devraient vous conduire dans le développement de la DS sont: (A) Sur le côté serveur , Comment les données persistent-elles? à un fichier? à une base de données? (B) Quelle quantité de données est nécessaire pour effectuer les calculs que vous voulez effectuer, et comment planifiez-vous y accéder (par exemple, pour une exécution O (n), je n'utiliserais pas de HashTable) (C) Comment le travail persistent/de-persistent? avec un ORM? requêtes personnalisées? A propos de la simultanéité, vous devrez expliquer ce qui vous dérange. Les personnes se connectent à SO simultanément tout le temps. 3/4. Pas un développeur Android, ne peut pas aider.