我正在将JSON对象推送到ASP.NET中的Google表格中。
我已经阅读并重新阅读了文档,但是我仍然不确定在响应方法中需要传递什么(如下所示)。
到目前为止,这是我所拥有的:
Default.aspx.cs:
string requestUrl = string.Format(@"https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}/values/Sheet1!C2:D5?valueInputOption=USER_ENTERED&key={apiKey}");
JToken jTknRequests = GoogleSheetsAPI.PutWebJObject(requestUrl)["data"];
GoogleSheetsAPI.cs:
public static JObject PutWebJObject(string url, bool encapsulate = true)
{
string stringResponse = PutWebResponse(url);
if (encapsulate)
{
stringResponse = "{\"data\":" + stringResponse + "}";
}
JObject o = JObject.Parse(stringResponse);
return o;
}
public static string PutWebResponse(string url)
{
string stringResponse;
HttpWebRequest httpWebRequest = (HttpWebRequest) WebRequest.Create(url);
httpWebRequest.Method = WebRequestMethods.Http.Put;
httpWebRequest.Accept = "application/json";
// Do I need to send these?
//httpWebRequest.Headers["access_token"] = ACCESS_TOKEN;
//httpWebRequest.Headers["client_secret"] = CLIENT_SECRET ;
using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
{
string json = "{\"majorDimension\": \"ROWS\",\"range\": \"Sheet1!C2:D5\",\"values\": [[2,31],[5,6],[700000,8334],[3,4]]}";
streamWriter.Write(json);
streamWriter.Flush();
streamWriter.Close();
}
HttpWebResponse httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
stringResponse = streamReader.ReadToEnd();
}
httpResponse.Close();
return stringResponse;
}
现在,我收到错误401:GetResponse()方法未经授权。