2013-07-03 215 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(); 

如果你知道更好的方法來做到這一點,請讓我知道。

相關問題