Mon code de connexion est la suivante:Connexion à Facebook en utilisant C# Facebook SDK
String appId = Facebook.FacebookApplication.Current.AppId;
var oauth = new FacebookOAuthClient { AppId = appId };
var parameters = new Dictionary<string, object>
{
{ "response_type", "code" },
{ "display", "popup" },
{ "scope", "email" }
};
var loginUrl = oauth.GetLoginUrl(parameters);
Response.Redirect(loginUrl);
Je reçois l'erreur: sur la dernière ligne ne peut pas convertir « de System.Uri » à « string ». Apparemment, la méthode GetLoginUrl renvoie un type Uri et Redirect nécessite une chaîne. Y at-il un autre moyen de rediriger vers un type - Uri?
L'exemple fourni par codeplex est "webBrowser.Navigate (loginUrl);" mais je n'utilise pas le contrôle webBrowser. Devrais-je être? Ou y a-t-il un autre moyen?
J'ai trouvé une solution à ce problème.
Remettez en place les deux dernières lignes:
var loginUrl = oauth.GetLoginUrl(parameters);
Response.Redirect(loginUrl);
Avec
var loginUrl = HttpUtility.HtmlEncode(oauth.GetLoginUrl(parameters));
Response.Redirect(HttpUtility.HtmlDecode(loginUrl));
Conversion en HTML et arrière permet de résoudre le problème. Notez que si vous laissez le loginUrl HtmlEncoded, Facebook renverra une erreur.