Как использовать url обратного вызова
Всем привет,
у меня проблема . Я работаю с workwave API проблема, которую я не понимаю, как я могу решить это
1> Как я могу создать url обратного вызова ?
2> Как я могу получить данные из workwave туда ?
пожалуйста, помогите мне. спасибо за ваш ценный ответ.
Что я уже пробовал:
для получения я попробую это
private string CreateToken(string message, string secret) { secret = secret ?? ""; var encoding = new System.Text.ASCIIEncoding(); byte[] keyByte = encoding.GetBytes(secret); byte[] messageBytes = encoding.GetBytes(message); using (var hmacsha256 = new HMACSHA256(keyByte)) { byte[] hashmessage = hmacsha256.ComputeHash(messageBytes); return Convert.ToBase64String(hashmessage); } }
string dataUrl = "{\"url \": \"http://185.74.157.252:8096/json.aspx \",\"signaturePassword\" : \""+ signPassword + "\",\"test\":\"true\"}";
string Str = CallBackUrl("https://wwrm.workwave.com/api/v1/callback", dataUrl, userid, ApiKey);
string signPassword = CreateToken("http://185.74.157.252:8096/json.aspx" + " w/", ApiKey);
string CallBackUrl(string url, string urlregister, string bigApiUserID, string BigApiKey) { string responseStr = ""; HttpStatusCode statusCode; WebRequest request = WebRequest.Create(url); request.Credentials = new NetworkCredential(bigApiUserID, BigApiKey); request.Method = "POST"; byte[] bytes; bytes = System.Text.Encoding.ASCII.GetBytes(urlregister); request.Headers.Add("X-WorkWave-Key", BigApiKey); request.ContentType = "application/json"; request.ContentLength = bytes.Length; Stream requestStream = request.GetRequestStream(); requestStream.Write(bytes, 0, bytes.Length); requestStream.Close(); HttpWebResponse response; try { response = (HttpWebResponse)request.GetResponse(); statusCode = response.StatusCode; if (Convert.ToString(response.StatusCode) == "OK") { Stream responseStream = response.GetResponseStream(); responseStr = new StreamReader(responseStream).ReadToEnd(); return responseStr; } } catch (WebException ex) { using (var stream = ex.Response.GetResponseStream()) using (var reader = new StreamReader(stream)) { string str = Convert.ToString(reader.ReadToEnd()); } } return responseStr; }
Graeme_Grant
URL-адреса обратного вызова обычно требуются для OAuth 1.0 a или OAuth 2.0 или для Webhooks. Что ты пытаешься сделать?
abhishek goutam
мое требование состоит в том, чтобы создать url-адрес, который мне нужно передать в качестве url-адреса обратного вызова . где я буду получать данные из WorkWave api в формате json
Graeme_Grant
если сервер API, с которым вы разговариваете, не имеет альтернатив, то вам нужно использовать свою собственную конечную точку/url-адрес либо на сервере, который может принимать http-пакеты (например, веб-сервер), либо на вашем собственном приложении, которое прослушивает http-пакеты.
Я предлагаю обсудить это с ними.
abhishek goutam
для этого я могу использовать веб-сервис и разместить его на нашем примере сервера mysite.com/getdata из того, что я могу получить данные, это будет работать ?
Graeme_Grant
Конечная точка / url-это просто url-адрес на вашем сервере без страницы-WEBAPI. Если они отправляют вам данные, то конечная точка должна поддерживать глагол POST. Я уверен, что они объясняют это в своей документации.