D'accord, j'ai vu cette question posée, mais je n'ai pas encore trouvé de réponse simple et efficace.
Un utilisateur arrive sur mon site web et a déjà "autorisé" mon site/application en utilisant la boîte de dialogue de connexion standard de Facebook - EN UTILISANT oauth.
Lorsqu'il revient sur mon site, l'utilisateur a un cookie sur son ordinateur qui commence par "fbsr_%" - d'après ce que j'ai lu, c'est considéré comme "le code".
Ce que j'aimerais faire maintenant, c'est récupérer ce cookie côté serveur, faire un appel à facebook, d'après ce que j'ai trouvé, je suis censé appeler : "https://graph.facebook.com/oauth/access\_token?client\_id={0}&redirect\_uri={1}&client\_secret={2}&code={3}"
puis recevoir en retour l'accesstoken...
J'aimerais recevoir le jeton d'accès sans avoir à rediriger l'utilisateur sur le client. Donc ce que j'ai jusqu'à présent est comme suit, et d'après ce que j'ai compris, c'est censé fonctionner, mais pour moi cela me donne toujours une erreur "Le serveur distant a retourné une erreur : (400) Bad Request."
string url = "https://graph.facebook.com/oauth/access_token?client_id={0}&redirect_uri={1}&client_secret={2}&code={3}";
string redirectUri = "http://www.mysite.com/";
string code = Request.Cookies["fbsr_" + clientId].Value;
WebRequest request = WebRequest.Create(string.Format(url, clientId, redirectUri, clientSecret, code));
WebResponse response = request.GetResponse();
Stream stream = response.GetResponseStream();
Encoding encode = System.Text.Encoding.GetEncoding("utf-8");
StreamReader streamReader = new StreamReader(stream, encode);
string accessToken = streamReader.ReadToEnd().Replace("access_token=", "");
streamReader.Close();
response.Close();
Toute aide serait grandement appréciée