2011-03-01 5 views
0

Permettez-moi d'abord de m'excuser pour mon manque de connaissances sur ce sujet, mais j'espère pouvoir le construire! J'ai beaucoup de difficulté avec l'API Facebook C#. J'essaie d'utiliser l'exemple inclus dans le téléchargement, "CSPASPNETWebsite". J'ai ajouté mon ID d'application et mon secret au fichier de configuration, et peut exécuter le site. Je navigue jusqu'à la page de connexion et clique sur le bouton Facebook, puis confirme que je souhaite autoriser l'application à accéder à mes données. Cependant, après cela, je ne reçois jamais un résultat positif en étant authentifié.Problème Authentification C# Facebook Exemple

J'ai essayé plusieurs choses et continue à avoir ce problème, je me demandais si quelqu'un d'autre avait eu semblable ou savait ce qui pourrait causer les problèmes. J'inclurais le code mais c'est exactement l'exemple du projet avec le fichier de configuration adapté à mon application.

Merci d'avoir lu et merci d'avance pour vos réponses.

EDIT: Je dois également noter que je développe localement, en utilisant Visual Studio 2010 et SDK version 5.0.3 (Bêta). Je soupçonne que mes problèmes peuvent être dus au problème avec les cookies mentionnés here mais je ne peux pas accéder à IIS pour essayer leur suggestion

Répondre

0

Rob a fait remarquer correctement que mon avis était erroné. Enfait J'ai essayé de jouer un peu avec l'échantillon qu'il mentionne et j'ai trouvé que quelque chose d'étrange se passait en naviguant sur la même page avec différents navigateurs. Si j'exécute l'exemple et le parcoure par google chrome cela fonctionne comme prévu. En le parcourant par exemple 8 cela ne fonctionne pas.

En déplaçant le bouton Fb: après l'initialisation du script, cela fonctionne aussi en 8.

<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent"> 
    <h2> 
     Log In 
    </h2> 

    <div id="fb-root"> 
    </div> 
    <script src="http://connect.facebook.net/en_US/all.js"></script> 
    <script> 
     FB.init({ appId: '<%: Facebook.FacebookContext.Current.AppId %>', status: true, cookie: true, xfbml: true }); 
     FB.Event.subscribe('auth.sessionChange', function (response) { 
      if (response.session) { 
       // A user has logged in, and a new cookie has been saved 
       alert("right"); 
       window.location.reload(); 
      } else { 
       alert("wrong"); 
       // The user has logged out, and the cookie has been cleared 
      } 
     }); 
    </script> 
    <p> 
     <fb:login-button></fb:login-button> 
    </p> 
</asp:Content> 

Ma réponse originale: je crois que vos problèmes ne sont pas de votre faute. Il semble que ces exemples sont périmés. Celui que vous mentionnez est construit sur les classes supérieures supprimées de la dernière version de la SDK. Dernièrement, le sdk a été complètement modifié et les exemples de code ne sont pas mis à jour. Vous pouvez voir ici, pour celui que vous évoquez combien de changements ont été réalisés:

http://facebooksdk.codeplex.com/SourceControl/list/changesets

par exemple

  • CSASPNETWebsiteregistrationForm mis à jour pour utiliser Request.GetFacebookSignedRequest() méthode
  • CSASPNETWebsite à utiliser FacebookAuthorizer au lieu de Autorisateur

Si vous souhaitez voir cet exemple de travail, je pense que vous devriez supprimer les références à la dernière version du sdk et de référence l'ancien.

Je ne raccomand it.

+0

Merci pour votre réponse Jack, je ne suis pas vraiment sûr que ce soit le problème - le projet n'est pas très compliqué, et ne donne aucune erreur de référence du tout. En fait, l'application fonctionne comme elle devrait le faire, sauf que le login n'est pas stocké. Les symptômes correspondraient parfaitement au problème noté dans le lien que j'ai ajouté dans l'article original. – Rob

+0

Intéressant! J'utilise Firefox et je n'ai pas la possibilité d'installer Chrome pour le tester, mais l'utilisation d'IE7 sur la page de connexion entraîne une actualisation constante de la page. La fenêtre de connexion facebook ne semble jamais résoudre. Naturellement, la connexion ne fonctionne pas. J'ai essayé de changer le bouton facebook pour être après le script, mais toujours pas de chance dans firefox. Merci encore, j'apprécie énormément votre aide – Rob

+0

Aussi, en utilisant votre code, je reçois toujours la "bonne" alerte ... – Rob