Я пытаюсь выполнить аутентификацию для простого запроса GET в API зарядки. Вероятно, мне не хватает информации о том, как передать учетные данные службе.Не удалось выполнить проверку подлинности в API-интерфейсе Chargify REST
я получил следующее сообщение об ошибке:
"The underlying connection was closed: An unexpected error occurred on a send."
"Authentication failed because the remote party has closed the transport stream."
код я использую следующее:
const string url = "https://subdomain.chargify.com/subscriptions.json";
var request = (HttpWebRequest)WebRequest.Create(url);
string auth = Convert.ToBase64String(Encoding.ASCII.GetBytes("apikey:x"));
request.Headers[HttpRequestHeader.Authorization] = "Basic " + auth;
WebResponse response = request.GetResponse(); //THROW ERROR
using (Stream responseStream = response.GetResponseStream())
{
var reader = new StreamReader(responseStream, Encoding.UTF8);
return reader.ReadToEnd();
}
Я следую инструкциям по API документации Chargify, вы можете ознакомиться с информацией здесь :
https://docs.chargify.com/api-authentication
https://docs.chargify.com/api-introduction
Использование расширения chrome «Расширенный клиент REST», я делаю запрос GET с указанным выше URL-адресом, затем хром запрашивает учетные данные в своем традиционном всплывающем окне, я добавляю ключ api и «x» в качестве пароля, затем я получить ответ в json за то, что я ожидаю. Поэтому я знаю, что ключ api верен, что мне не хватает, как передать информацию в C# через запрос.
Использование локон в документации, они дают этот пример:
У вас есть какие-либо идеи, как это -u параметр в локон должен быть переведен в C#?
Спасибо!
EDIT Как говорилось в комментарии, я попытался с помощью .NET обертку, но я получаю точную ошибку. Вот мой пример кода:
var _apiConnection = new ChargifyConnect(url, _userName, _password);
var productList = _apiConnection.GetProductList();
Проверьте следующие https://docs.chargify.com/api-code в разделе [Документация] (http://chargify.codeplex.com/documentation) – MethodMan
Я сделал, используя оболочку .NET, я получил ту же ошибку. Я просто добавил образец кода, используя эту оболочку в этом вопросе. – jmecwel
@jmecwel см. Мой комментарий об обертке ниже – djbyter