Cette question est, je pense, similaire to my previous one. En utilisant la dernière C# Facebook SDK sur .NET 4 je reçois une exception avec le message "ClientID nécessaire" avec le code suivant sur la dernière ligne:Facebook C# SDK OAuth Exception "ClientID requis"
var app = new DefaultFacebookApplication();
app.AppId = "appId";
app.AppSecret = "secret";
var fb = new FacebookWebContext(app);
fb.IsAuthenticated();
ID App et secret sont correctement réglés. La trace de la pile de l'exception est la suivante: System.Exception a eu lieu
Message=ClientID required. Source=Facebook StackTrace:
at Facebook.FacebookOAuthClient.BuildExchangeCodeForAccessTokenParameters(IDictionary`2 parameters, String& name, String& path)
at Facebook.FacebookOAuthClient.ExchangeCodeForAccessToken(String code, IDictionary`2 parameters)
at Facebook.FacebookSession.get_AccessToken()
at Facebook.FacebookSession.get_Expires()
at Facebook.Web.FacebookWebContext.IsAuthenticated()
at Piedone.FacebookTest.Authorize() InnerException:
Du côté client J'utilise le SDK JS, initialisé comme suit:
FB.init({
appId: appId,
status: true, // check login status
cookie: true, // enable cookies to allow the server to access the session
xfbml: true, // parse XFBML
oauth: true // enable OAuth 2.0
});
Les utilisateurs se correctement connecté avec la méthode de connexion JS(), comme l'alerte dans la pièce suivante de code est exécuté:
FB.login(function (response) {
if (response.authResponse) {
alert("logged in");
} else {
alert('User cancelled login or did not fully authorize.');
}
}, { scope: scope });
dans les paramètres de l'application sur Facebook la fois l'utilisation « Forces de connexion secret pour l'appel OAuth et pour auth.login "et" Encrypted Access Token "sont activés. Autant que je sache tout cela devrait permettre l'utilisation de l'authentification OAuth 2. Quelqu'un a une idée de ce que je fais mal? Il ne peut vraiment y avoir aucune erreur dans ces quelques lignes de code ...
Merci d'avance pour toute aide!
Edit: La propriété AccessToken de FacebookWebContext lancers francs la même erreur et HttpContext.CurrentNotification fait:
CurrentNotification '(_facebookWebContextCache.HttpContext).CurrentNotification' threw an exception of type 'System.PlatformNotSupportedException' System.Web.RequestNotification {System.PlatformNotSupportedException}
This operation requires IIS integrated pipeline mode.
Depuis que je dois exécuter le programme à partir de Visual Studio avec son serveur de développement (comme je suis actuellement développement de l'application) il n'y a aucun moyen de faire quelque chose à propos de cette dernière exception, je suppose. En fait, j'ai également essayé avec IIS express de Webmatrix, mais le problème persiste. Il est aussi intéressant que dans le FacebookWebContext les réglages (identifiant d'application, le secret) sont correctement réglés ainsi, l'ID utilisateur et la demande signée est là aussi ...
Edit 2: Je reçois aussi même erreur lors de l'utilisation de la source SDK. Il semble que AccessToken et dans la session la propriété Expires lèvent l'exception. Je ne sais pas si cela est lié au problème httpcontext ci-dessus.
a également ouvert un numéro: http://facebooksdk.codeplex.com/workitem/5902 – Piedone
Prabir Shrestha déjà olled une solution rapide avec le dernier enregistrement: http://facebooksdk.codeplex.com/SourceControl/changeset/changes/7ce3c54e1aea – Piedone