Ошибка 404 при отправке запроса на выполнение API Google из расширения Chrome

Я получаю сообщение об ошибке 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));


        });

});

# Вся информация, которая мне нужна!!!

введите здесь описание изображения

введите здесь описание изображения

введите здесь описание изображения

введите здесь описание изображения

введите здесь описание изображения

введите здесь описание изображения

введите здесь описание изображения

введите здесь описание изображения


person Community    schedule 01.05.2016    source источник
comment
Если это Ошибка 404 – запрошенный объект не найден, проверьте предлагаемые решения в разделе Ошибка 5417 из google-apps-script-issues может работать, при этом одно из предложенных решений заключается в том, чтобы убедиться, что ваш скрипт связан с тем же проектом консоли разработчика Google, что и вы. используется для аутентификации. Это работало нормально? Пожалуйста, поделитесь, если это сработало на вашей стороне. :)   -  person Teyam    schedule 02.05.2016
comment
Я разместил дополнительную информацию! Не могли бы вы взглянуть, если у вас есть время, пожалуйста? Я что-то упускаю или делаю что-то не так??   -  person    schedule 03.05.2016
comment
Использовали ли вы проект консоли разработчика, созданный вами самостоятельно, а не проект по умолчанию, который был связан автоматически? Как насчет идентификатора проекта - cwcfhultxzewaetqjli, который был связан с API выполнения? Я замечаю разные идентификаторы проектов.   -  person Teyam    schedule 04.05.2016
comment
Мне жаль! Я вставил неправильное изображение для захвата экрана. Я заменил неправильное изображение на правильное. Он показывает, что projectID равен cwcfhultxzewaetqjli в окне проекта консоли разработчика. Чтобы ответить на ваш вопрос, я использовал проект консоли разработчика, который был связан автоматически.   -  person    schedule 04.05.2016
comment
на самом деле, чтобы опубликовать этот вопрос, я создал новый скрипт приложения и выполнил все шаги, необходимые для вызова API выполнения. Вся информация, которую я опубликовал, взята из нового примера проекта, который я создал для этого поста. Теперь я получаю ошибку 403, а не ошибку 404. Я так застрял с этим делом.   -  person    schedule 04.05.2016
comment
Вы должны попытаться использовать проект консоли разработчика, который вы создали. Не зависьте от стандартного, который был связан автоматически. См. это   -  person Teyam    schedule 04.05.2016
comment
Вы нашли проблему? У меня то же самое и странно, Google возвращает 404, когда я пытаюсь использовать devMode: true.   -  person Martin Dimitrov    schedule 28.06.2016
comment
нет, я отказался от этой проблемы.   -  person    schedule 28.06.2016


Ответы (1)


Возникла проблема с Google Execution API. На данный момент вы не можете использовать сервисные аккаунты для Exection API. Есть тикет для отслеживания: https://code.google.com/p/google-apps-script-issues/issues/detail?id=5461 И содержит возможные обходные пути. Также вы можете использовать это в своем GScript для правильной авторизации: https://github.com/googlesamples/apps-script-oauth2

person Igor Matsko    schedule 15.07.2016