LaysAndNetflix Ответов: 1

Как я могу получить доступ к restful webservice с помощью ключа api C#


Я новичок, когда дело доходит до restful api, но я знаю, как restful webservice использует учетные данные для входа и пароля, но мне нужно было использовать ключ api и секрет приложения, который я никогда раньше не использовал при доступе к url-адресу. Я просто хотел спросить, как это сделать с учетными данными для входа и пароля.

Что я уже пробовал:

WebRequest request = WebRequest.Create(url);
        request.Method = WebRequestMethods.Http.Get;
        NetworkCredential networkCredential = new NetworkCredential(logon, password ); // logon in format "domain\username"
        CredentialCache myCredentialCache = new CredentialCache { { new Uri(url), "Basic", networkCredential } };
        request.PreAuthenticate = true;
        request.Credentials = myCredentialCache;
        using (WebResponse response = request.GetResponse())
        {
            Console.WriteLine(((HttpWebResponse)response).StatusDescription);

            using (Stream dataStream = response.GetResponseStream())
            {
                using (StreamReader reader = new StreamReader(dataStream))
                {
                    string responseFromServer = reader.ReadToEnd();
                    Console.WriteLine(responseFromServer);
                }
            }
        }

F-ES Sitecore

Это требование специфично для вызываемого вами API, поэтому вам необходимо ознакомиться с документацией о том, как используется этот ключ api. Обычно они отправляются в виде заголовка, но мы не можем этого знать, так как не знаем, какой api вы вызываете.

LaysAndNetflix

Сэр, они уже прислали мне свой секрет приложения и ключ api.

1 Ответов

Рейтинг:
7

Afzaal Ahmad Zeeshan

Большинство поставщиков услуг API требуют, чтобы вы отправляли ключ API — который у вас уже есть — через HTTP-заголовок, этот заголовок устанавливается ими, и вы должны следовать соглашению. Например, в Microsoft Azure вы должны отправить ключи подписки и маркеры через "Ocp-Apim-Subscription-Key", а затем Azure проверяет этот маркер и проверяет ваш запрос.

Точно так же ваше требование состоит в том, чтобы увидеть, как они запрашивают этот токен у вас, поскольку вы не поделились сервисом, который вы используете, мы не можем предоставить вам никаких ссылок на документацию; возможно, быстрый запрос Google типа "{servicename} send token http" может дать хороший результат. :-)


LaysAndNetflix

Большое вам спасибо, что я смог сделать свою работу с помощью заголовков.