Как выполнить авторизацию вызова в Java-скриптах с помощью скриптовых приложений?

#javascript #facebook

#javascript #Facebook

Вопрос:

У меня следующая проблема, любая помощь приветствуется, я пытаюсь получить результат функции и выполнить вызов, но процесс происходит так, как и должен, когда я вводю результат в переменную, результат таков:

Параметр var URL результата {time_ref = 1554817906, Date_start = 2019-03-10, account_id = xxxxxxxxxx, async_percent_completion = 0, Async_status = Задание не запущено, date_stop = 2019-04-08, id = 2299845083590625}

Передавая напрямую значение в URL, результат получается такой: Manual {time_ref = 1554817906, Date_start = 2019-03-10, account_id = xxxxxxxxxx, time_completed = 1554817907, async_percent_completion = 100, Async_status = Задание завершено, date_stop = 2019-04-08, id = 2299845083590625} Что я Я поступаю неправильно, что не могу получить второй звонок, который мне нужен для завершения моего судебного процесса?

Документация: https://developers.facebook.com/docs/marketing-api/insights/best-practices/?hc_location=ufi#asynchronous

 function solicitacaoAssicrona(){
 var service = getService()
 var metricas = [
   'impressions',
   'reach',
   'unique_clicks',
   'account_currency',
   'account_id',
   'account_name',
   'ad_id',
   'ad_name',
   'adset_id',
   'adset_name',
   'buying_type',
   'campaign_id',
   'campaign_name',
 ]
 var parameters = metricas.join(',');  
 var url = 'https://graph.facebook.com/v3.2/act_xxxxxxxxxx/insights?fields='   parameters   'amp;level=ad';
 //Logger.log(url);
 var report_run_id = UrlFetchApp.fetch(url, {
   method: 'POST',
   headers: {    
     Authorization: 'Bearer '   service.getAccessToken()
   }
 });
 var result = JSON.parse(report_run_id.getContentText()); 
 return resu<
}

result= [19-04-09 12:28:34:334 BRT] {report_run_id=1283453988472584}

function reportId(){
 var service = getService();
 var report_run_id = new solicitacaoAssicrona();
 //Logger.log(report_run_id);
 var report = report_run_id['report_run_id'];
 //var report_run_idParameters = report.toString();
 var reportUrl = 'https://graph.facebook.com/v3.2/'   report;
 //Logger.log(reportUrl); 
 var response = UrlFetchApp.fetch(reportUrl, {
   method: 'GET',
   headers: {
    'Content-Type': 'application/json',
     Authorization: 'Bearer '   service.getAccessToken()
   }
 });
 var result = JSON.parse(response.getContentText());
 return resu<
}

[19-04-09 12:30:38:457 BRT] {time_ref=1554823837, date_start=2019-03-10, account_id=xxxxxxxxx, async_percent_completion=0, async_status=Job Not Started, date_stop=2019-04-08, id=806453509753109}


function reportId(){
 var service = getService();
 var report_run_id = new solicitacaoAssicrona();
 //Logger.log(report_run_id);
 var report = report_run_id['report_run_id'];
 //var report_run_idParameters = report.toString();
 var reportUrl = 'https://graph.facebook.com/v3.2/806453509753109';
 //Logger.log(reportUrl); 
 var response = UrlFetchApp.fetch(reportUrl, {
   method: 'GET',
   headers: {
    'Content-Type': 'application/json',
     Authorization: 'Bearer '   service.getAccessToken()
   }
 });
 var result = JSON.parse(response.getContentText());
 Logger.log(result)
 return resu<
}
[19-04-09 12:31:26:785 BRT] {time_ref=1554823837, date_start=2019-03-10, account_id=xxxxxxxx, time_completed=1554823839, async_percent_completion=100, async_status=Job Completed, date_stop=2019-04-08, id=xxxxxxx}
  

Ответ №1:

Решаемая с помощью кэширования, я сохранил идентификатор отчета в кэше, там все работало хорошо! Следуйте документации! https://developers.google.com/apps-script/reference/cache/cache