尝试使用C2DM验证应用程序服务器时出现403 forbidden错误

时间:2011-11-24 11:16:52

标签: android android-c2dm

我创建了一个简单的Web应用程序并将其托管在本地服务器(本地主机)上,并使用以下代码获取身份验证ID,但它返回403错误。还有什么方法可以在没有应用程序服务器的情况下向C2DM发送消息,我的意思是来自桌面应用程序吗?

这是获取身份验证密钥的代码:

 string GetToken()
    {
        HttpWebResponse response = null;
        try
        {


        StringBuilder builder = new StringBuilder();
        builder.Append("Email=").Append("MyGmailEmailAddress");
        builder.Append("&Passwd=").Append("MyPassword");
        builder.Append("&accountType=GOOGLE");
        builder.Append("&source=PingMe");
        builder.Append("&service=ac2dm");

        byte[] bytes = Encoding.UTF8.GetBytes(builder.ToString());

        HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://www.google.com/accounts/ClientLogin");
        request.Method = "POST";
        request.ContentType ="application/x-www-form-urlencoded";
        request.ContentLength = bytes.Length;

        Stream stream = request.GetRequestStream();
        stream.Write(bytes,0,bytes.Length);
        stream.Close();

        response = (HttpWebResponse)request.GetResponse();
        stream = response.GetResponseStream();
        StreamReader reader  = new StreamReader(stream);

        return  reader.ReadToEnd();

        }
        catch (Exception ex)
        {
            return ex.Message;
        }
        finally
        {
            if(response != null)
                response.Close();
        }
    }

1 个答案:

答案 0 :(得分:0)

人们强烈推荐C2DM的专用Google帐户。不要使用常规GMail。

另外,您是否已在http://code.google.com/android/c2dm/signup.html注册?如果是,尝试使用相同的Google帐户重新注册。那个网站是出了名的不可思议。