POST-запрос к Google Analytics с протоколом измерений из скрипта приложения возвращает действительный ответ, но не работает - PullRequest
0 голосов
/ 04 февраля 2020

Я пытаюсь отправить данные о преобразованиях в автономном режиме в Google Analytics с использованием протокола измерений

Я отправляю этот запрос POST с помощью Google AppScripts:

function hitPageViewGA (line,sheet) {

  var range = sheet.getRange(line,1,1,10);
  var values = range.getValues();

  var origem = values[0][6];
  var campanha = values[0][7]

  var data =    {'v': '1',
                 'tid': 'UA-81598809-3',
                 'cid': generateUUID_(),
                 'z': Math.floor(Math.random()*10E7),
                 't':'pageview',
                 'dl':'https://77digitalmarketing.com/teste',
                 'cs':origem,
                 'cn':campanha
                };

   var payload = Object.keys(data).map(function(key) {
                                        return encodeURIComponent(key) + '=' + encodeURIComponent(data[key]);
                                    }).join('&');

  var options = {
  'method' : 'POST',
  'payload' : payload,
  'headers' : {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36'}
    }; 


  var response = UrlFetchApp.fetch('https:/www.google-analytics.com//collect',options);

  return response; 
}

Когда я отправляю запрос https://www.google-analytics.com/debug/collect для подтверждения запроса, я получаю действительный ответ. Кроме того, когда я тестирую сгенерированную полезную нагрузку в построителе запросов, это работает! Я просто не работаю, когда запрос выполняется сценариями Google App.

Кто-нибудь знает, почему это произойдет?

Спасибо!

1 Ответ

1 голос
/ 04 февраля 2020

Ну, оказывается, это была проблема с IP. Google AppsScripts отправляет запросы с использованием некоторых стандартных IP-адресов, которые Google Analytics определяет как ботов, поэтому мне просто нужно было указать IP-адрес в запросе.

...