Как извлечь данные о времени загрузки и опыте и времени загрузки и опыта из процента данных Google Pagespeedinsights api json? - PullRequest
0 голосов
/ 27 февраля 2019

Я пытаюсь разработать приложение, которое использует google Pagespeedinsights API в качестве бэкэнда.Когда я запускаю pagepeedinsights для определенного URL, используя команду curl https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url=desired url , я получаю данные json в качестве ответа.

   Sample JSON response
    {
     "captchaResult": "CAPTCHA_NOT_NEEDED",
     "kind": "pagespeedonline#result",
     "id": "https://jsonlint.com/",
     "loadingExperience": {
      "id": "https://jsonlint.com/",
      "metrics": {
       "FIRST_INPUT_DELAY_MS": {
        "percentile": 98,
        "distributions": [
         {
          "min": 0,
          "max": 50,
          "proportion": 0.9191070896432152
         },
         {
          "min": 50,
          "max": 250,
          "proportion": 0.05804188226370113
         },
         {
          "min": 250,
          "proportion": 0.022851028093083734
         }
        ],
        "category": "AVERAGE"
       },
       "FIRST_CONTENTFUL_PAINT_MS": {
        "percentile": 2784,
        "distributions": [
         {
          "min": 0,
          "max": 1000,
          "proportion": 0.5647038808001577
         },
         {
          "min": 1000,
          "max": 2500,
          "proportion": 0.3140323071688247
         },
         {
          "min": 2500,
          "proportion": 0.12126381203101773
         }
        ],
        "category": "SLOW"
       }
      },
      "overall_category": "SLOW",
      "initial_url": "https://jsonlint.com/"
     },
     "originLoadingExperience": {
      "id": "https://jsonlint.com",
      "metrics": {
       "FIRST_INPUT_DELAY_MS": {
        "percentile": 98,
        "distributions": [
         {
          "min": 0,
          "max": 50,
          "proportion": 0.9194600615254058
         },
         {
          "min": 50,
          "max": 250,
          "proportion": 0.05766680810438103
         },
         {
          "min": 250,
          "proportion": 0.022873130370213216
         }
        ],
        "category": "AVERAGE"
       },
       "FIRST_CONTENTFUL_PAINT_MS": {
        "percentile": 2774,
        "distributions": [
         {
          "min": 0,
          "max": 1000,
          "proportion": 0.5685563670116814
         },
         {
          "min": 1000,
          "max": 2500,
          "proportion": 0.3111175327063521
         },
         {
          "min": 2500,
          "proportion": 0.1203261002819664
         }
        ],
        "category": "SLOW"
       }
      },
      "overall_category": "SLOW",
      "initial_url": "https://jsonlint.com/"
     }

   I am doing it programatically.

String pythonScript = "import os \ n "+" os.system (\ "curl https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url="+pageSpeedMetrics.getCompanyUrl()+">" + PYTHON_FILE_LOCATION + fileName + "\") ";BufferedWriter out = новый BufferedWriter (новый FileWriter (PYTHON_FILE_LOCATION.concat (PAGESPEEDINSIGHT_PYTHON_FILE_NAME)));out.write (pythonScript);out.close ();System.out.println (pythonScript);Процесс p = r.exec ("python" + PYTHON_FILE_LOCATION.concat (PAGESPEEDINSIGHT_PYTHON_FILE_NAME) + "");p.waitFor ();

JSONObject json = new JSONObject ();json.put ("crux_loading_experience", jsonPagespeedInsight.getJSONObject ("loadingExperience"));json.put ("crux_origin_loading_experience", jsonPagespeedInsight.getJSONObject ("originLoadingExperience"));

Но когда я делаю это онлайн, используя https://developers.google.com/speed/pagespeed/insights/, я могу видеть время FCP & FID &процентные значения, но в файле JSON его нет.Как это генерируется?Заранее спасибо !!!

...