Я получаю сообщение об ошибке 404, когда отправляю запрос на выполнение API Google из расширения Chrome.
Я уверен, что мой идентификатор клиента правильный, а области действия правильные. Кроме того, мой идентификатор сценария и имя функции для вызова также верны.
Я также опубликовал скрипт как исполняемый файл API для всех.
Вот мои примеры файлов расширения Chrome.
Пожалуйста, дайте мне помощь!
Я застрял с этой проблемой в течение длительного времени.
manifest.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"
}
}
background.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));
});
});