2009-12-02 5 views
3

Je construis une application Facebook qui a (dans le cadre de sa fonction) un affichage des photos FB d'un utilisateur. Les termes et conditions sur cette question sont un peu floues pour moi, donc j'ai pensé que je demanderais ceci ici:Application Facebook: stocker des vignettes de photos utilisateur

Est-ce que quelqu'un sait s'il est acceptable de créer des vignettes de leurs photos FB et de les stocker sur mon serveur? Si c'est le cas (à condition d'avoir les autorisations offline_access et tout ça), devrais-je aussi le rafraîchir toutes les 24 heures?

Merci beaucoup!

+0

Y at-il un avantage explicite de stocker les photos sur votre propre machine? Si vous les tirez de l'API de toute façon, il semble que ce serait plus logique d'utiliser ce modèle. Je ne connais rien à l'API FB personnellement, mais je parierais qu'il se passe beaucoup de choses en arrière-plan pour optimiser les performances sur des opérations fréquentes comme la récupération de photos de profil. –

+0

Nous avons considéré que - le vrai problème est juste le redimensionnement. Comme vous l'avez dit, l'API permet de renvoyer rapidement des informations sur des photos, des personnes, etc., mais les photos ne sont pas retournées dans une taille qui nous est nécessairement utile. Nous préférons ne pas avoir à redimensionner tout un tas de choses sur chaque chargement de page. – mikedory

+0

Cela a du sens. :) –

Répondre

6

En bref, la réponse est n °

Platform Policy états de Facebook:

Vous ne devez pas stocker ou mettre en cache les données que vous recevez de nous pour plus de 24 heures à moins que cela est autorisé par l'exception hors ligne, ou que les données sont explicitement désignées comme stockables Données.

La offline_access permission prolongée a en fait aucun effet si vous pouvez stocker des données, vous pouvez avoir confondu avec le offline exception, qui est la suivante:

exception Hors ligne: Les applications qui course sur un dispositif contrôlé par et possédé par l'utilisateur - tel qu'un ordinateur de bureau ou portable , un dispositif mobile , ou un autre dispositif intégré - peut mettre en cache les données d'utilisateur reçues de Facebook pendant plus de 24 heures seulement lorsque la connectivité Internet est indisponible ou il est impossible pour l'exécution de l'application. Ces données peuvent être stockées sur le périphérique client, mais pas sur un serveur distant, et ne peuvent pas être mises à la disposition du développeur. Mises en cache données de plus de 24 heures peuvent être affichées à l'utilisateur (ou autrement utilisé par l'application) au lieu de données mises à jour uniquement jusqu'à ce qu'une mise à jour est possible, et en aucun cas au-delà de 14 jours après la dernière mise à jour.

Cela signifie donc que tout ce que vous êtes autorisé à stocker, à moins que vous êtes couvert par le offline exception, sont les champs de données suivants:

User data you receive from Facebook that you can store indefinitely: 
uid     User ID 
nid     Primary network ID 
eid     Event ID 
gid     Group ID 
pid     Photo ID 
aid     Photo album ID 
flid     friend list ID 
listing_id    Marketplace listing ID 
page_id    Facebook Page ID 
proxied_email   Placeholder email addresses for your users 
notes_count   Total number of notes written by the user 
profile_update_time Time that the user's profile was last updated 
+0

C'est ce que j'ai pensé - merci beaucoup! – mikedory

+0

est la solution pour faire un script cronjob qui se connecte à fb tous les jours, et récupère les données des utilisateurs à nouveau? Si oui, comment puis-je faire cela? –

+0

Eh bien, vous pouvez le faire pour les utilisateurs qui vous ont accordé offline_access, ou vous pouvez mettre à jour les informations de l'utilisateur lorsque l'utilisateur visite l'application. Vous pouvez stocker l'heure à laquelle vous avez mis à jour les informations pour la dernière fois, et faites-le sur un certain intervalle, c'est-à-dire si plus de 24 heures se sont écoulées depuis la dernière mise à jour. – defines

1

Vous ne devriez pas avoir à copier/Redimensionner photo de l'utilisateur , cachez simplement l'URL de la photo sur Facebook, puis utilisez le navigateur/css pour le dimensionner à la taille désirée. Utilisez FQL pour interroger la table de photo pour obtenir l'URL de la version en taille réelle (src_big) de la photo. Ou requête pour une taille plus petite Facebook déjà créé. Ceci est l'URL sur la façon de demander l'info url photo: http://wiki.developers.facebook.com/index.php/Photo_%28FQL%29

+0

Cela marchera très bien (et c'est ce que nous avons fini par faire) - espérait juste que nous pourrions optimiser un peu plus loin que cela. Merci bien! – mikedory

Questions connexes