Граф API-ответ с «Плохой запрос - ошибка протокола» на заработанные достижения вместо # 3501 - PullRequest
1 голос
/ 05 января 2012

Я использую 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 отлично работает)

Любая помощь будет благодарна

1 Ответ

1 голос
/ 05 января 2012

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

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

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

...