Я использую C # с ASP.NET для создания игры.У меня есть метод для отправки пост-запроса, и он отлично работает во всех запросах (т. Е. В журналах, счетах), за исключением случаев, когда я пытаюсь получить заслуженное достижение.В этом случае сервер возвращает неверный запрос (статус - ошибка протокола) вместо (# 3501). Пользователь уже заработал .... Это отрывок из моего метода отправки
public static string SendRequest(string sUrl,
string sRequest,
string sMethod,
string sContentType = "application/x-www-form-urlencoded")
{
HttpWebRequest request;
StreamReader reader;
string sResponse;
Encoding encoding = Encoding.UTF8; //I try different encoding without luck
switch (sMethod.ToUpper())
{
case "POST":
case "DELETE":
//Initialize the WebRequest
request = (HttpWebRequest)HttpWebRequest.Create(sUrl);
request.AllowAutoRedirect = false;
request.Method = sMethod.ToUpper();
request.ContentType = sContentType;
request.ServicePoint.Expect100Continue = false;
byte[] data = encoding.GetBytes(sRequest);
request.ContentLength = data.Length;
Stream stream =request.GetRequestStream();
stream.Write( data, 0, data.Length );
stream.Close();
break;
....
Итак, чтобы дать новое достижение, я называю этот метод: SendRequest (достиженийURL, достижениеParams, POST
);Если я сделаю второй вызов API Graph, вернём Bad Request вместо # 3501, я могу без ошибок удалить заслуженное достижение (SendRequest (reachURL, successParams, DELETE
);
Я пытаюсь использовать разные кодировки без удачи. Можетэто будет ошибка в Graph API ?! (Graph API Explorer отлично работает)
Любая помощь будет благодарна