2012-01-05 2 views
1

Я использую C# с ASP.NET для создания игры. У меня есть метод отправки почтового запроса, и он работает нормально во всех запросах (например, в протоколе, баллы), кроме того, когда я пытаюсь дать заработанные достижения. В этом случае сервер возврата Bad Request (статус - ошибка протокола) вместо (# 3501) Пользователя уже заработал .... Это является отрезало от моего метода для отправкиОтвет графического API с ошибкой «Ошибочный запрос - протокол» заработанные достижения вместо # 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 возврата Bad Request вместо # 3501 я могу удалить заработанные достижения без ошибок (SendRequest (achievementURL, achievementParams, DELETE);.

Я пытаюсь использовать различные кодировки без удачи Может быть ошибка в Graph API ?! (Graph API Explorer, работает отлично)

Любая помощь будет appreciateble

ответ

1

"Я пытаюсь использовать различные кодировки без удачи. Может ли это быть ошибка в Graph API ?! (Graph API Explorer отлично работает) "

Да, я столкнулся с аналогичной проблемой, когда C# SDK вернул ошибку, в то время как API Explorer работал нормально. Хотя я жду исправления, я использую Javascript SDK, чтобы сделать вызов, который терпит неудачу на C#.

Вы должны сделать это как ошибку: http://facebooksdk.codeplex.com/workitem/list/basic