2013-07-03 165 views
0

我正在开发一个使用ASP.Net(C#)自动化Google站点验证的系统,并且我正在使用DotNetOpenOauth来执行身份验证。谷歌网站管理员使用DotNetOpenOauthVerificatoin

我想知道是否有一种方法可以在使用DotNetOpenOauth的范围“https://www.googleapis.com/auth/siteverification”的请求体中提供JSON?因为当网站验证一直在进行时,我们必须发送以下JSON与请求。

(使用谷歌的OAuth2)

{ 
    "site": { 
    "type": string, 
    "identifier": string 
    }, 
    "verificationMethod": string 
} 

回答

0

我发现我自己的答案。我添加了以下代码以发送请求的JSON正文。

WebRequest request = WebRequest.Create("https://www.googleapis.com/siteVerification/v1/token?access_token=" + Uri.EscapeDataString(authState.AccessToken)); 
string path = HostingEnvironment.MapPath(@"~/App_Data/SiteVerificatoin.json"); 


MemoryStream ms = new MemoryStream(); 
FileStream fileStreem = new FileStream(path, FileMode.Open, FileAccess.Read); 
byte[] bytes = new byte[fileStreem.Length]; 
fileStreem.Read(bytes, 0, (int)fileStreem.Length); 
ms.Write(bytes, 0, (int)fileStreem.Length); 

request.ContentType = "application/json"; 
request.Method = "POST"; 
request.ContentLength = ms.Length; 
ms.Seek(0, SeekOrigin.Begin); 
using (Stream requestStream = request.GetRequestStream()) 
{ 
    ms.CopyTo(requestStream); 
}   

WebResponse response = request.GetResponse(); 

如果你知道更好的方法来做到这一点,请让我知道。

相关问题