(400) Ошибка неверного запроса при запуске сайта asp.net на локальном хосте - PullRequest
0 голосов
/ 02 сентября 2011

Я спроектировал веб-сайт для доступа к данным Facebook, и когда я обращался к нему по адресу localhost: порт 4999, но при загрузке страницы возникает ошибка

public class FacebookLoginHelper
{
    public Dictionary<string,> GetAccessToken(string code, string scope,string  redirectUrl)
    {
        Dictionary<string,> tokens = new Dictionary<string,>();
        string clientId = FacebookApplication.Current.AppId;
            //FacebookContext.Current.AppId;           
        string clientSecret = FacebookApplication.Current.AppSecret;
        string url = string.Format("https://graph.facebook.com/oauth/access_token?client_id={0}&redirect_uri={1}&client_secret={2}&code={3}&scope={4}",
                        clientId, redirectUrl, clientSecret, code, scope);
        HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
        using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
        {
            StreamReader reader = new StreamReader(response.GetResponseStream());
            string retVal = reader.ReadToEnd();

            foreach (string token in retVal.Split('&'))
            {
                tokens.Add(token.Substring(0, token.IndexOf("=")),
                    token.Substring(token.IndexOf("=") + 1, token.Length - token.IndexOf("=") - 1));
            }
        }
        return tokens;
    }
}

Теперь он показывает ошибку 400 в строке: использование(HttpWebResponse response = request.GetResponse () as HttpWebResponse)

В чем причина?Пожалуйста, помогите мне?

Спасибо

1 Ответ

0 голосов
/ 02 сентября 2011

Ошибка 400 Bad Request возвращается API Facebook, когда один из параметров недопустим для запроса, который вы пытаетесь выполнить, вы можете попробовать вручную вставить запрошенный URL-адрес в браузере вместе с параметрами, например:должна отображать причину ошибки в виде JSON (в Chrome или Firefox), например, примерно так:

{
    "error": {
        "type": "OAuthException",
        "message": "redirect_uri isn't an absolute URI. Check RFC 3986."
}

С этого момента вы можете проверить, что не так, и исправить это.

...