Не удается запустить собственный скрипт в собственном листе Google - появляется сообщение «Приложение не проверено» - PullRequest
0 голосов
/ 17 июня 2020

В моей учетной записи Google я использую скрипт gs Google Таблиц для проверки URL-адресов через PageSpeed ​​API. В облачной консоли я включил этот API и создал ключ API в /credentials/.

После добавления ключа API в скрипт и его запуска я сначала вынужден был аутентифицировать меня (несмотря на то, что я вошел в свою учетную запись ). После аутентификации я получаю экран App isn't verified без ссылки advanced, поэтому у меня даже нет возможности запустить его с ограничениями.

Такая же проблема возникает, если я создаю документ Google Sheets в другом учетная запись Google, добавьте в нее сценарий, затем поделитесь этим документом с моей учетной записью Google и создайте копию из нее.

Проблема возникает независимо от того, какие URL-адреса я хочу протестировать с моим скриптом - с веб-сайта, где я являюсь подтвержденным владельцем, или с тех, которые мне не принадлежат.

На мой взгляд, это что-то новое: ранее в этом году я копировал Google Таблицы с сценарии из других учетных записей в мою, и все сценарии работали как чудо.

Что мне делать, чтобы запустить свой сценарий в моем документе Google Таблиц?

Если это может быть важно, вот скрипт для теста PageSpeed:

//@OnlyCurrentDoc

/**
 * Returns Mobile Speed & Optimization and Desktop Speed & Optimization values in six adjacent columns
 * by Cagri Sarigoz
 */
function checkAll(Url) {


    var key = "myAPI";
    var serviceUrlMobile = "https://www.googleapis.com/pagespeedonline/v4/runPagespeed?url=" + Url + "&strategy=mobile&key=" + key;
    var serviceUrlDesktop = "https://www.googleapis.com/pagespeedonline/v4/runPagespeed?url=" + Url + "&strategy=desktop&key=" + key;
    //    var serviceUrlMobileFriendliness = "https://searchconsole.googleapis.com/v1/urlTestingTools/mobileFriendlyTest:run?fields=mobileFriendliness&key="+key;
    //    var formDataMobileFriendliness = {'url':Url};
    //    var optionsMobileFriendliness = {
    //     'method' : 'post',
    //     'payload' : formDataMobileFriendliness
    //    };
    var array = [];

    var responseMobile = UrlFetchApp.fetch(serviceUrlMobile);

    if (responseMobile.getResponseCode() == 200) {
        var contentMobile = JSON.parse(responseMobile.getContentText());

        if ((contentMobile != null) && (contentMobile["ruleGroups"] != null)) {
            if (contentMobile["responseCode"] == 200) {
                var optimizationScoreMobile = contentMobile["ruleGroups"]["SPEED"]["score"];
                if ("metrics" in contentMobile["loadingExperience"]) {
                    var avgFCPMobile = ((contentMobile["loadingExperience"]["metrics"]["FIRST_CONTENTFUL_PAINT_MS"]["median"]) / 1000).toFixed(1).toString() + " (" + contentMobile["loadingExperience"]["metrics"]["FIRST_CONTENTFUL_PAINT_MS"]["category"] + ")";
                    var avgDCLMobile = ((contentMobile["loadingExperience"]["metrics"]["DOM_CONTENT_LOADED_EVENT_FIRED_MS"]["median"]) / 1000).toFixed(1).toString() + " (" + contentMobile["loadingExperience"]["metrics"]["DOM_CONTENT_LOADED_EVENT_FIRED_MS"]["category"] + ")";
                } else {
                    var avgFCPMobile = "Unavailable";
                    var avgDCLMobile = "Unavailable";
                }
            } else {
                var optimizationScoreMobile = "An error occured";
                var avgFCPMobile = "An error occured";
                var avgDCLMobile = "An error occured";

            }
        }
    }

    var responseDesktop = UrlFetchApp.fetch(serviceUrlDesktop);

    if (responseDesktop.getResponseCode() == 200) {
        var contentDesktop = JSON.parse(responseDesktop.getContentText());

        if ((contentDesktop != null) && (contentDesktop["ruleGroups"] != null)) {
            if (contentDesktop["responseCode"] == 200) {
                var optimizationScoreDesktop = contentDesktop["ruleGroups"]["SPEED"]["score"];
                if ("metrics" in contentDesktop["loadingExperience"]) {
                    var avgFCPDesktop = ((contentDesktop["loadingExperience"]["metrics"]["FIRST_CONTENTFUL_PAINT_MS"]["median"]) / 1000).toFixed(1).toString() + " (" + contentDesktop["loadingExperience"]["metrics"]["FIRST_CONTENTFUL_PAINT_MS"]["category"] + ")";
                    var avgDCLDesktop = ((contentDesktop["loadingExperience"]["metrics"]["DOM_CONTENT_LOADED_EVENT_FIRED_MS"]["median"]) / 1000).toFixed(1).toString() + " (" + contentDesktop["loadingExperience"]["metrics"]["DOM_CONTENT_LOADED_EVENT_FIRED_MS"]["category"] + ")";
                } else {
                    var avgFCPDesktop = "Unavailable";
                    var avgDCLDesktop = "Unavailable";
                }
            } else {
                var optimizationScoreDesktop = "An error occured";
                var avgFCPDesktop = "An error occured";
                var avgDCLDesktop = "An error occured";

            }
        }
    }

    //    var responseMobileFriendliness = UrlFetchApp.fetch(serviceUrlMobileFriendliness, optionsMobileFriendliness);
    //    var contentMobileFriendliness = JSON.parse(responseMobileFriendliness.getContentText());
    //      
    //      if ( (contentMobileFriendliness != null) && (contentMobileFriendliness["mobileFriendliness"] != null) )
    //      {
    //        var mobileFriendliness = contentMobileFriendliness["mobileFriendliness"];
    //      }
    //      else
    //        {
    //          var mobileFriendliness = "An error occured";
    //        }

    var currentDate = new Date().toJSON().slice(0, 10).replace(/-/g, '/');

    array.push([avgFCPMobile, avgDCLMobile, optimizationScoreMobile, avgFCPDesktop, avgDCLDesktop, optimizationScoreDesktop, currentDate]);
    Utilities.sleep(1000);
    return array;

}

1 Ответ

1 голос
/ 17 июня 2020

Вам необходимо go через процесс проверки . Это не ново и существует уже несколько лет. Google проверит ваше приложение, чтобы убедиться, что оно соответствует их рекомендациям, прежде чем вы будете сочтены безопасным.

Вы можете начать проверку, отправив эту форму , но до того, как будет рекомендовано выполнить шаги здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...