我已經使用Chrome高級休息客戶端(ARC)爲我的API調用獲取訪問令牌。我現在試圖把我在那裏工作的東西轉換成我的SSIS腳本組件中的POST調用。C#使用formdata POST到OAUTH2
我有4倍的值,我需要在後的數據形式部分以包括。
grant_type = client_credentials
和我們PARTNER_ID,CLIENT_ID和client_secret。
如何/我在哪裏在我的要求中輸入這些信息?這是我嘗試使用的代碼。我有另一部分做了一個GET,當我硬編碼令牌時工作。我正在嘗試獲取此POST調用以獲取GET中使用的新令牌。
private TokenObject GetWebServiceToken(string wUrl)
{
string grant_type = "client_credentials";
string partner_id = "our partner_id";
string client_id = "our client_id";
string client_secret = "our encoded string";
HttpWebRequest httpWReq = (HttpWebRequest)WebRequest.Create(wUrl);
httpWReq.Method = "POST";
httpWReq.ContentType = "application/x-www-form-urlencoded";
HttpWebResponse httpWResp = (HttpWebResponse)httpWReq.GetResponse();
TokenObject jsonResponse = null;
try
{
//Get the stream of JSON
Stream responseStream = httpWResp.GetResponseStream();
//Deserialize the JSON stream
using (StreamReader reader = new StreamReader(responseStream))
{ //Deserialize our JSON
DataContractJsonSerializer sr = new DataContractJsonSerializer(typeof(TokenObject));
jsonResponse = (TokenObject)sr.ReadObject(responseStream);
}
}
//Output JSON parsing error
catch (Exception e)
{
FailComponent(e.ToString());
}
return jsonResponse;
}
謝謝!工作! – Leslie