我有一個應用程序允許我使用API密鑰從Google電子表格中讀取數據。我只是將HTTP GET發送到這個地址並獲得數據響應。使用API密鑰(C#)將數據寫入Google電子表格
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。
UPDATE: 所以我只是tryed Google.Apis.Sheets.v4寫值,現在我敢肯定,幾乎100%是API密鑰不能用於將數據寫入到電子表格谷歌。那麼,我將使用OAuth 2.0。
看起來像這個問題https://issuetracker.google.com/issues/36755576涵蓋了這個錯誤,儘管它自4月份以來似乎沒有更新過。可能值得出演,所以他們知道它對人們有多大的影響。我想我將不得不轉而使用OAuth 2.0。 – user3432422