无法通过API连接Google表格(Error 400)求助
无法通过API连接Google表格(Error 400)求助
嘿,我来帮你排查下这个400错误的问题,结合你给出的代码和场景,我发现几个可能的问题点:
API密钥格式错误:你代码里的API密钥开头多了个多余的
Y!正常的Google API密钥是以AIzaSy开头的,你现在写的是YAIzaSyDj1DTIFTV-MLiWODZcavwKG51GHEttiPE,把前面的Y去掉,换成正确的密钥格式,这大概率是导致400错误的核心原因——无效的API密钥会直接触发请求错误。确认Google Sheets API已启用:就算你有正确的密钥,也要在Google Cloud控制台里确认已经启用了Google Sheets API。如果没启用,哪怕权限设置正确,请求也会被拒绝返回错误。
检查工作表范围的正确性:你指定的范围是
Sheet1!A:D,要确认你的表格里确实存在名为Sheet1的工作表,而且这个范围是有效的(比如有没有拼写错误,或者工作表名称是中文的“工作表1”之类的)。
给你修正了API密钥格式后的代码示例(记得替换成你自己的有效密钥):
<!DOCTYPE html> <html> <head> <title>Test Sheet Connection</title> <meta charset="utf-8"> </head> <body> <h1>Test Sheet Connection</h1> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script> // The ID of your Google Sheet var sheetId = "19T0BR78jzK6Z7WscK7X64oYe2DgxyFhv8TczRQSqClw"; // The range of the sheet that you want to retrieve data from var sheetRange = "Sheet1!A:D"; // 修正API密钥开头的多余Y,替换成你自己的有效密钥 var apiUrl = "https://sheets.googleapis.com/v4/spreadsheets/" + sheetId + "/values/" + sheetRange + "?key=AIzaSyDj1DTIFTV-MLiWODZcavwKG51GHEttiPE"; // Use jQuery to make an AJAX request to the Google Sheets API $.ajax({ url: apiUrl, success: function(data) { console.log(data); }, error: function(jqXHR, textStatus, errorThrown) { console.log(textStatus, errorThrown); // 可以在这里打印更详细的错误响应,方便排查 console.log(jqXHR.responseText); } }); </script> </body> </html>
另外,建议你在error回调里加上console.log(jqXHR.responseText),这样能看到400错误的具体描述,帮助进一步定位问题。
备注:内容来源于stack exchange,提问作者Coolcrab
相关产品推荐
相关产品推荐

