Felipe Caldas
Felipe Caldas

Reputation: 2503

Facebook Marketing API - Object with ID does not exist

I started with Facebook Marketing API today. I am simply trying to read the campaigns from my Facebook Business account. I have an Ad account and a Campaign created there. I suppose my issue is with generating the Token.

I am simply generating the token from here: https://developers.facebook.com/tools/explorer?classic=0

And the error I get is:

{ error:
      { message: 'Unsupported get request. Object with ID \'10xxxxxxxx\' does not exist, cannot be loaded due to missing permissions, or does not support this operation. Please read the Graph API documentation at https://developers.facebook.com/docs/graph-api',
        type: 'GraphMethodException',
        code: 100,
        error_subcode: 33,
        fbtrace_id: 'E5CAU6UvHwF' } }

My Node.js code is:

const readCampaign = async (program) => {    
    const accessToken = TOKEN
    const api = adsSdk.FacebookAdsApi.init(accessToken)

    const account = new AdAccount('act_' + program.accountid)
    console.log('act_' + account.id) // fields can be accessed as properties
    let result
        account.read([AdAccount.Fields.name])
            .then((account) => {
                return account.getCampaigns([Campaign.Fields.name], { limit: 10 }) // fields array and params
            })
            .then((result) => {
                campaigns = result
                campaigns.forEach((campaign) => console.log(campaign.name))
            }).catch(console.error);

    console.log(result)
}

To generate the Token I am choosing the App I created, "Get User Access Token" and then selected all possible permissions there - just to test this.

What am I doing wrong? Thanks

Upvotes: 0

Views: 4379

Answers (1)

Javi
Javi

Reputation: 126

I suspecting this is due to a permission error.

First I would check that your app has access to the account you are trying to access.

enter image description here

Then I would suggest creating a system user through your business manager (can be found under business settings ), assigning it access to ad accounts, and utilizing the the system user's token when initializing the library.

One big advantage is that the system users's token does not have such a short expiration time.

Facebook system user doc

Upvotes: 0

Related Questions