腾讯企业邮箱API
http://blog.csdn.net/dongxinbing/article/details/8179068
/// <summary>
/// webClient
/// </summary>
/// <param name="url"></param>
/// <param name="strKey"></param>
/// <param name="Bearer"></param>
private string GetwebClient(string url, string strKey, string Bearer)
{
string postJsonData = strKey;
WebClient webClient = new WebClient();
webClient.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
if (Bearer.Length > 0)
{
webClient.Headers.Add("Authorization", "Bearer " + Bearer);
}
byte[] sendData = Encoding.UTF8.GetBytes(postJsonData);
byte[] recData = webClient.UploadData(url, "POST", sendData);
return Encoding.UTF8.GetString(recData);
}
//获得账号key
private string QQMail_access_token()
{
string qDate = GetwebClient("https://exmail.qq.com/cgi-bin/token",
"grant_type=client_credentials&client_id=xxxl&client_secret=xxx",
"");
string vObj = "";
JavaScriptSerializer jss = new JavaScriptSerializer();
Dictionary<string, object> json = (Dictionary<string, object>)jss.DeserializeObject(qDate);
object value;
if (json.TryGetValue("access_token", out value))
{
vObj = value.ToString();
}
return vObj;
}
//获得新邮件数
private string QQMail_New()
{
string QQMailtoken = QQMail_access_token();
string qDate = GetwebClient("http://openapi.exmail.qq.com:12211/openapi/mail/newcount",
string.Format("alias={0}@{1}", Alias, MailDomain),
QQMailtoken);
string vObj = "";
JavaScriptSerializer jss = new JavaScriptSerializer();
Dictionary<string, object> json = (Dictionary<string, object>)jss.DeserializeObject(qDate);
object value;
if (json.TryGetValue("NewCount", out value))
{
vObj = value.ToString();
}
return string.Format("Mail:{0}", vObj);
}
本机调试执行QQMail_New(),一切正常,正常获得邮件数量,但是一上传的服务器,就报"不能为不写入数据的操作设置 Content-Length 或 Chunked 编码。"网上查询也有一人碰到我类似情况,但没说解决方法,麻烦有谁碰到过的给说一声解决方式,谢谢。
我本机是WIN7 iis7,服务器是win2003 iis6,不知道是否与IIS有关系。