当我从 chrome 扩展向 google 执行 api 发布请求时,我收到 404 错误。
我确定我的客户 ID 正确且范围正确。此外,我要调用的脚本 ID 和函数名称也是正确的。
我还将脚本作为 api 可执行文件发布给所有人。
这是我的示例 chrome 扩展文件。
请帮帮我!
我被这个问题困扰了很长时间。
清单.json
{
"name": "Execution Api Test",
"version": "0.1",
"manifest_version": 2,
"description": "Execution Api Test",
"permissions": [
"identity",
"tabs",
"http://*/*",
"https://*/*"
],
"background": {
"scripts": ["background.js"]
},
"oauth2": {
"client_id": "816912884742-icjd8pjj58m4rvrh211f1rrg97bkepho.apps.googleusercontent.com",
"scopes": [
"https://www.googleapis.com/auth/spreadsheets"
]
},
"page_action": {
"default_icon": "icon.png",
"default_title": "test"
}
}
背景.js
chrome.tabs.onUpdated.addListener(function (tabId, changeInfo, tab) {
chrome.pageAction.show(tabId);
});
chrome.pageAction.onClicked.addListener(function () {
chrome.identity.getAuthToken(
{'interactive': true},
function(token) {
//I get access token successfully.
console.log(token);
var scriptID = "MR4ao03vpkqX-hTekNkflNDxdZGPvncRS";
var apiURL = "https://script.googleapis.com/v1/scripts/" + scriptID + ":run";
var requestBody = {
"function": "myFunction",
"devMode": true
};
var xhr = new XMLHttpRequest();
xhr.open('POST', apiURL, true);
xhr.setRequestHeader('Content-Type', 'application/json; charset=UTF-8');
xhr.setRequestHeader('Authorization', 'Bearer ' + token);
xhr.send(JSON.stringify(requestBody));
});
});