Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用“API响应”表示API响应;错误请求-协议错误“;关于已取得的成就而不是3501_C#_Asp.net_Facebook Graph Api_Achievements - Fatal编程技术网

C# 用“API响应”表示API响应;错误请求-协议错误“;关于已取得的成就而不是3501

C# 用“API响应”表示API响应;错误请求-协议错误“;关于已取得的成就而不是3501,c#,asp.net,facebook-graph-api,achievements,C#,Asp.net,Facebook Graph Api,Achievements,我正在用C#和ASP.NET制作一个游戏。我有一个发送post请求的方法,它在所有请求(即登录、分数)中运行良好,当我试图给出一个已获得的成就时除外。在这种情况下,服务器返回的是错误的请求(状态-协议错误),而不是用户已经获得的(#3501)。。。。 这是从我的发送方法中剪下的 public static string SendRequest(string sUrl, string sRequest,

我正在用C#和ASP.NET制作一个游戏。我有一个发送post请求的方法,它在所有请求(即登录、分数)中运行良好,当我试图给出一个已获得的成就时除外。在这种情况下,服务器返回的是错误的请求(状态-协议错误),而不是用户已经获得的(#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;

因此,为了获得一项新的成就,我将此方法称为: 发送请求(achievementURL、achievementParams、POST); 如果我让第二个调用图API返回错误的请求,而不是#3501 我可以无误地删除已获得的成就(SendRequest(achievementURL、achievementParams、
删除

我尝试使用不同的编码,但没有任何运气。这可能是Graph API中的错误吗?!(Graph API Explorer工作正常)

任何帮助都是值得赞赏的

“我尝试使用不同的编码,但没有任何运气。这可能是Graph API中的错误吗?!(Graph API Explorer工作正常)”

是的,我遇到了一个类似的问题,当API浏览器工作正常时,C#SDK返回了一个错误。当我等待修复时,我正在使用Javascript SDK进行在C#中失败的调用

您应该将其作为错误记录在

“我尝试使用不同的编码,但没有任何运气。它可能是Graph API中的错误吗?!(Graph API Explorer工作正常)”

是的,我遇到了一个类似的问题,当API浏览器工作正常时,C#SDK返回了一个错误。当我等待修复时,我正在使用Javascript SDK进行在C#中失败的调用

您应该将其作为bug记录在