Facebook api giving 400 error with FacebookRequestError msg

Viewed 162
    const bizSdk = require('facebook-nodejs-business-sdk');
    const AdAccount = bizSdk.AdAccount;
    const AdsInsights = bizSdk.AdsInsights;

    let access_token = '';
    let ad_account_id = '';
    let app_secret = '';
    let app_id = '';
    const api = bizSdk.FacebookAdsApi.init(access_token);
    const account = new AdAccount(ad_account_id);
    const showDebugingInfo = true; // Setting this to true shows more debugging info.
    if (showDebugingInfo) {
    api.setDebug(true);
    }

    let ads_insights;
    let ads_insights_id;

    const logApiCallResult = (apiCallName, data) => {
    console.log(apiCallName);
    if (showDebugingInfo) {
        console.log('Data:' + JSON.stringify(data));
    }
    };

    const fields = [
    'website_ctr:link_click',
    'purchase_roas:omni_purchase',
    'website_purchase_roas:offsite_conversion.fb_pixel_purchase',
    'mobile_app_purchase_roas:app_custom_event.fb_mobile_purchase',
    ];
    const params = {
    'level' : 'adset',
    'filtering' : [{'field':'delivery_info','operator':'IN','value':['active']}],
    'breakdowns' : ['days_1'],
    'time_range' : {'since':'2020-03-01','until':'2020-03-31'},
    };
    (new AdAccount(ad_account_id)).getInsights(
    fields,
    params
    )
    .then((result) => {
    logApiCallResult('ads_insights api call complete.', result);
    ads_insights_id = result[0].id;
    })
    .catch((error) => {
    console.log(error);
    });

Hi, Here is my node.js code which i copied from facebook.

But, when i am running the code i am getting below error.

status: 400,
response: {
    error: {
    message: 'Syntax error "Expected "(" instead of ","." at character 109: website_ctr:link_click,purchase_roas:omni_purchase,website_purchase_roas:offsite_conversion.fb_pixel_purchase,mobile_app_purchase_roas:app_custom_event.fb_mobile_purchase',
    type: 'OAuthException',
    code: 2500,
    fbtrace_id: 'ANEo2UqslTEnJqp5yeVRVEW'
    }
}

I never used this before so it is confusing for me.

I there any issue with the fields i am sending.

Please have a look

1 Answers

Just solved it myself. The error Syntax error "Expected "(" instead of ","." at character XX comes from the parameter - website_purchase_roas:offsite_conversion.fb_pixel_purchase.

It looks like Node doesn't know how to handle a property:value pair in which the value has a . . Also the Facebook API seems to be expecting enumerated Field types, so it would be interesteing to see what it resolves too.

The line which caused this in my own was this - actions:onsite_conversion.post_save, and pushed the same error.

Full Error - 'Syntax error "Expected "(" instead of ","." at character 324:.

Related