2012-04-02 3 views
0

Ich entwickle eine Facebook Page Tab-App, wo ein Benutzer auf der Seite mit HTML5 Canvas zeichnen wird. Wenn der Benutzer seine Zeichnung (im Grunde ein Formular) einreicht, muss ich überprüfen, ob der Benutzer meiner App die erforderlichen Berechtigungen erteilt hat. Ist dies nicht der Fall, rufen Sie den Facebook-Dialog auf und bitten Sie den Benutzer, sich vor dem Absenden des Formulars mit meiner App zu authentifizieren. Sobald der Benutzer authentifiziert wurde (oder wenn dies bereits der Fall war), senden Sie das Formular ab.Bitten Sie den Benutzer, sich zu authentifizieren, bevor Sie das Formular mit Facebook senden Javascript SDK

Kurz gesagt, wie kann ich ein Formular nur senden, wenn der Benutzer meine App mit Facebook Javascript SDK authentifiziert hat?

UPDATE:

Ich konnte dies mit FB.getLoginStatus und FB.Login pro Vorschlag Shaun lösen. Hier ein Beispiel:

$('#submit').on('click', function() { 
     FB.getLoginStatus(function(response) { 
       if (response.status === 'connected') { 
        // User authenticated, submit the form 
       } else if (response.status === 'not_authorized') { 
        // the user is logged in to Facebook, 
        // but has not authenticated your app 
        FB.login(function(response) { 
         // handle the response 
        }, {scope: 'email,'}); 
       } else { 
        // the user isn't logged in to Facebook. 
        FB.login(function(response) { 
         // handle the response 
        }, {scope: 'email,'}); 
       } 
      }); 
     }); 

Antwort

1

Um kurz zu beantworten,

Sie müssen FB.getLoginStatus bestätigen, um zu bestimmen, ob der Benutzer hat/hat nicht authed App

http://developers.facebook.com/docs/reference/javascript/FB.getLoginStatus/

dann entweder Fragen Sie sie an FB.login und wenn sie das Formular erfolgreich abgeschickt haben oder wenn sie das Formular ausgefüllt haben, senden Sie das Formular

http://developers.facebook.com/docs/reference/javascript/FB.login/

+0

Danke für die Antwort Shaun. Ich benutzte FB.getLoginStatus und FB.Login vorher, aber ich hatte einen Fehler in einem anderen Teil meiner Anwendung, der es von der Arbeit hielt. Ihr Vorschlag hat mir bestätigt, dass ich in die richtige Richtung bin. Ich habe meine Frage mit einem Beispielcode aktualisiert, der zeigt, wie das geht. –

Verwandte Themen