API Графика Facebook не работает на UrlFetchApp - PullRequest
2 голосов
/ 01 ноября 2019

Я выполняю запрос в Facebook Graph API Explorer успешно , но когда я запускаю тот же запрос в Google Apps Script с UrlFetchApp, я получаю Ошибка - Неверный аргумент . Запрос выглядит следующим образом:

https: //graph.facebook.com/v4.0/act_1015703131******/insights?fields=spend&level=account&date_preset=yesterday&filtering=[][field:название кампании, оператор: CONTAIN, значение: perf}, {поле: adset.name, оператор: NOT_CONTAIN, значение: rmk}] & access_token = ********

Когда явыполнить тот же запрос без , фильтрация работает должным образом!

Json Результат: enter image description here

РЕДАКТИРОВАТЬ: Iпопытался кодировать параметры фильтрации и выдает новую ошибку:

Request failed for https://graph.facebook.com returned code 400. Truncated server response: {"error":{"message":"(#100) param filtering must be an array.","type":"OAuthException","code":100,"fbtrace_id":"AMw2vkaHXbuiVSQuSNg28yZ"}} (use muteHttpExceptions option to examine full response)

В чем причина проблемы, поскольку ошибка не дает какого-либо конкретного описания?

1 Ответ

4 голосов
/ 01 ноября 2019

Сначала поместите ваше значение фильтрации в массив:

var fbCallFiltering = [{'field':'campaign.name','operator':'CONTAIN','value':'perf'},{'field':'adset.name','operator':'NOT_CONTAIN','value':'rmk'}];

Затем используйте JSON.stringify ()

var fbCallFilteringString = encodeURIComponent(JSON.stringify(fbCallFiltering));

Наконец, используйте переменную fbCallFilteringString в URLвы используете для вызова UrlFetchApp после &filtering=.

Это должно работать.

...