Я пишу приложение .NET, которое работает на компьютере с Windows. Он не доступен через браузер. Проблема в том, что я не могу подтвердить подлинность, как я должен. В настоящее время я пишу в C # .NET, более конкретно в C #.
- В моей форме есть веб-браузер.
- Пользователь входит в Facebook через этот элемент управления веб-браузера.
- После входа в систему я запускаю процедуру аутентификации.
- Затем я получаю код.
Вот где это идет не так. С помощью этого кода я хочу получить токен доступа.
Сгенерированный URL-адрес запроса выглядит следующим образом: https://graph.facebook.com/oauth/access_token?client_id=____MY_APP_ID______&redirect_uri=http://localhost/&client_secret=_____MY_APP_SECRET_____&code=____MY_RETREIVED_CODE_____
и выполняется с помощью приведенного ниже кода.
Обратите внимание, что мой URL перенаправления - http://localhost
. Это должно быть хорошо, верно?
Кроме того, в моих настройках приложения есть следующая информация.
URL сайта: http://localhost/
Домен сайта: localhost
private String ExchangeCodeForToken(String code, Uri redirectUrl)
{
var TokenEndpoint = new Uri("https://graph.facebook.com/oauth/access_token");
var url = TokenEndpoint + "?" +
"client_id=" + _AppID + "&" +
"redirect_uri=" + redirectUrl + "&" +
"client_secret=" + _AppSecret + "&" +
"code=" + code;
var request = WebRequest.CreateDefault(new Uri(url));
using (var response = request.GetResponse())
{
using (var responseStream = response.GetResponseStream())
{
using (var responseReader = new StreamReader(responseStream))
{
var responseText = responseReader.ReadToEnd();
var token = responseText.Replace("access_token=", "");
return token;
}
}
}
}
Когда я выполняю это, я получаю эту ошибку:
ошибка http://www.imageupload.org/getfile.php?id=50131&a=447f6fcc0ebd4d3f8e8a59a3a6e36ac3&t=4de0841c&o=0889D68FDC35508BA2C6F2689FCBAB7C30A8670CC9647EE598701D8BEC13ED278F0989D393&n=autherror.png&i=1
Webexception не был обработан кодом пользователя
Удаленный сервер возвратил ошибку: (400) неверный запрос.
Здесь я думаю, что могу ошибаться:
- Настройки моего приложения верны?
- Должен ли мой URL-адрес перенаправления быть
http://localhost
, даже если там на самом деле нет службы, прослушивающей?
Самое главное:
- как мне избавиться от этой ошибки и получить токен доступа?
Заранее спасибо!