3

Je suis nouveau sur les applications Facebook, j'ai déjà une application fonctionnant sur GAE (en utilisant python). Je veux l'intégrer avec Facebook afin que je puisse accéder à certaines données des utilisateurs pour m'aider à personnaliser l'application (données comme les pages aimées, les centres d'intérêt, d'où ils viennent etc.). Et aussi de partager les sorties de l'application pour être vu par des amis.Application Facebook hébergée sur Google App Engine

Je pensais que je pencherais pour l'option application Facebook sur https://developers.facebook.com/

Je ne sais pas où commencer, il y a quelques tutoriels (la plupart d'entre eux sont très anciens, certains utilisent des scripts sont déconseillés il est un peu inquiétant), et il y a FBML .. et je pensais que peut-être je peux obtenir les mêmes données en utilisant seulement la connexion de Facebook puis utiliser FQL pour accéder à ces données.

Et je ne sais pas si je vais me retrouver avec cette nouvelle restriction https (Facebook dit qu'il est nécessaire à partir d'octobre 2011 d'avoir un certificat SSL).

Donc, la ligne de fond .. par où commencer?

+0

Vous voudrez peut-être jeter un oeil à cette question http://stackoverflow.com/questions/8675810/understanding-runwithfriends- facebook-app-sample-code/8682790 –

Répondre

-2
  1. Achetez un certificat SSL pour votre serveur Web afin de vous conformer aux nouvelles règles.
  2. Créez/configurez votre application pour obtenir l'identifiant et le secret de votre application.
  3. Etudiez le Javascript SDK, c'est le plus simple à mettre en place à mon humble avis.
  4. Étudiez l'API graphique et découvrez les objets et leurs propriétés ainsi que leurs connexions.
  5. Vous pouvez jouer avec le SDK JS ici: https://developers.facebook.com/tools/console/ et le graphique ici: https://developers.facebook.com/tools/explorer
  6. Introduire le code lentement à votre page sur votre serveur Web. Faites d'abord fonctionner l'authentification, puis passez à l'obtention des informations de base sur l'utilisateur.
+0

Quelques problèmes: –

+0

1. AppEngine ne prend pas en charge les certificats personnalisés de serveur ou de client. –

+0

2. Javascript est utilisable dans l'authentification de flux FB côté client. OP a besoin d'une assistance basée sur le serveur. –

2

Vous devez authentifier votre application serveur (GAE) par rapport à Facebook: vous devez implémenter server-side authentication flow.

Voir LeanEngine (open-source) pour un exemple de mise en œuvre: server auth classes. Une fois que vous avez passé l'authentification et que vous avez reçu le jeton d'authentification FB de l'utilisateur, vous pouvez utiliser FB Graph API pour obtenir toutes sortes de données.

3

On y va:

De ce lien ne téléchargez: https://github.com/jgorset/facepy/tree/master/facepy:

de téléchargements, vous aurez:
signed_request.py pour analyser signed_request qui sera affiché par facebook dans votre url toile: https://apps.facebook.com/myapp dans POST procédé

et graph_api.py pour rendre le fonctionnement de graphapihttps://developers.facebook.com/docs/reference/api/

note: vous allez inclure access_token à partir de cookies écrits par facebook js sdk.
pour fb js sdk voir cette réponse: https://stackoverflow.com/a/8625873/492258 javascript partie

dans votre page d'index:

fb_app_secret='abcd...' 
fb_app_id = 123345 
def index(request): 
    if request.POST: 
     signed_request_param = request.POST.get('signed_request)   
     if signed_request_param: 
      #signed_request.py 
      signed_request_dic = signed_request.parse_signed_request(signed_request_param, fb_app_secret) 
      if signed_request_dic: 
       if signed_request_dic.has_key('user_id'): 
        fb_uid = signed_request_dic['user_id'] 
        #you got your man that is previously authorized your fb app : mypp 

pour les appels successifs, vous allez utiliser les cookies que je l'ai mentionné ci-dessus:

def my_page(request): 
    my_dict = None 
    my_dict = signed_request.get_user_from_cookie(request.COOOKIES, fb_app_id, fb_app_secret) 
    if my_dict: 
     if my_dict.has_key('uid'):    
      fb_uid = my_dict['uid'] 
      fb_uid = int(fb_uid) 
      #you got your registered user again. 

Pour l'enregistrement, la façon la plus simple de faire à partir de fb js sdk, déjà mentionné

#finally for SSL, in your app.ymal: 

- url: .* 
    script: django_bootstrap.py 
    secure: optional 

Ne pas oublier de mettre P3P pour internet explorer, iframre problème de cookie:

def my_page(request): 
    .... 
    response = render_to_response('mypage.html', view_params) 
    response["P3P"] = 'CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"' 
    return response 
Questions connexes