Javascript 谷歌工作表API:“;“讯息”:&引用;请求缺少有效的API密钥。”;
我正在尝试做一个扩展,它将从页面中获取一些数据并将其发送到GoogleSheet。 我的舱单:Javascript 谷歌工作表API:“;“讯息”:&引用;请求缺少有效的API密钥。”;,javascript,google-chrome-extension,google-sheets-api,google-oauth,Javascript,Google Chrome Extension,Google Sheets Api,Google Oauth,我正在尝试做一个扩展,它将从页面中获取一些数据并将其发送到GoogleSheet。 我的舱单: "oauth2": { "client_id": "client_id", "scopes": ["https://www.googleapis.com/auth/spreadsheets"] }, "permissions": [ "activeTab", "tabs", "https://*.*/*
"oauth2": {
"client_id": "client_id",
"scopes": ["https://www.googleapis.com/auth/spreadsheets"]
},
"permissions": [
"activeTab",
"tabs",
"https://*.*/*",
"storage",
"declarativeContent",
"identity",
"https://ssl.gstatic.com/",
"https://www.googleapis.com/*",
"https://accounts.google.com/",
"https://sheets.googleapis.com/",
"https://www.googleapis.com/auth/spreadsheets/"
],
"key": {key}
背景页:
var tokenS;
chrome.runtime.onInstalled.addListener(function() {
chrome.storage.sync.set({number: value}, function(data) {
});
chrome.identity.getAuthToken({
interactive: false
}, function(token) {
tokenS = token
console.log(token)
});
});
function writeData(request, sender){
myspreadsheetId = "myspreadsheetId "
var params = {
"range":"Sheet1!A1:A",
"majorDimension": "ROWS",
"values": [
[request.name]
],
}
var xhr = new XMLHttpRequest();
xhr.open('PUT', 'https://sheets.googleapis.com/v4/spreadsheets/' + myspreadsheetId + '/values/Sheet1!A1:A1?valueInputOption=USER_ENTERED');
console.log(tokenS)
xhr.setRequestHeader('Authorization', 'Bearer '+tokenS);
xhr.send(JSON.stringify(params));
};
chrome.runtime.onMessage.addListener(writeData)
我收到下一个错误:
{
"error": {
"code": 403,
"message": "The request is missing a valid API key.",
"status": "PERMISSION_DENIED"
}
}
在谷歌云平台上,我看到了100%的错误率()。我不明白我做错了什么。请提供帮助。您需要将
中的第二个“键”:{key}
(在第一个代码示例的最后一行)替换为您在谷歌云控制台中为项目生成的API键。
要生成API密钥,您需要导航到凭据页面并单击创建凭据>>API密钥
首先,确保您选择的项目已被选中
其次;从“导航菜单”>>“API和服务”>>“Crendentials”>>“创建凭证”>>“API密钥”中,您需要将
“密钥”中的第二个“密钥”:{key}
(在第一个代码示例的最后一行)替换为您在谷歌云控制台中为项目生成的API密钥。
要生成API密钥,您需要导航到凭据页面并单击创建凭据>>API密钥
首先,确保您选择的项目已被选中
其次;从“导航菜单”>>“API和服务”>>“Crendentials”>>“创建凭据”>>“API密钥”您的API密钥似乎无效。@据我所知,有两种方法可以识别您的应用程序:使用OAuth 2.0令牌(也授权请求)和/或使用应用程序的API密钥。“()我正在使用OAuth2.0,一切都应该正常。在发出请求之前,您是否通过了身份验证?@nogui是的,我得到了令牌:'chrome.identity.getAuthToken({interactive:false},function(token){tokenS=token console.log(token)};'然后我使用它:'xhr.setRequestHeader('Authorization'、'Bearer'+令牌);'您的API密钥似乎无效。@Liora Haydon,据我所知“有两种方法可以识别您的应用程序:使用OAuth 2.0令牌(它也授权请求)和/或使用应用程序的API密钥。”()我使用的是OAuth 2.0,一切都应该正常。您在发出请求之前通过了身份验证吗?@nogui是,我得到令牌:'chrome.identity.getAuthToken({interactive:false},函数(令牌){tokenS=tokenconsole.log(令牌)});'然后我使用它:'xhr.setRequestHeader('Authorization'、'Bearer'+令牌);'