我有一个应用程序,可以使用API密钥从Google电子表格中读取数据。我只需向此地址发送HTTP GET请求,就会收到带有数据的响应。
https://sheets.googleapis.com/v4/spreadsheets/18soCZy9H4ZGuu**********BeHlNY1lD8at-Pbjmf8c/values/Sheet1!A1?key=AIzaSyAYJ***********pB-4iKZjYf4y0vhXP8OM
但是当我尝试使用HTTP PUT方法写入数据时,遇到了问题。
https://sheets.googleapis.com/v4/spreadsheets/18soCZy9H4ZGuu**********BeHlNY1lD8at-Pbjmf8c/values/Sheet1!A4?valueInputOption=RAW?key=AIzaSyAYJ***********pB-4iKZjYf4y0vhXP8OM
我遇到了401错误。
发起PUT请求的代码:
using (WebClient wc = new WebClient())
{
byte[] res = wc.UploadData(link, "PUT", Encoding.ASCII.GetBytes(textBox1.Text));
MessageBox.Show(Encoding.Default.GetString(res));
}
另外,电子表格是完全公开的,任何人都可以读写而无需进行身份验证。我的猜测是我无法使用API密钥来向电子表格中写入数据,唯一的方法是使用OAuth。
更新: 所以我刚刚尝试了Google.Apis.Sheets.v4来写入值,现在我几乎可以确定API密钥无法用于向Google电子表格中写入数据。好吧,那么我将使用OAuth 2.0。