Facebook Marketing API-ID不存在的对象

时间:2019-01-22 12:04:34

标签: facebook facebook-marketing-api facebook-business-sdk

我今天开始使用Facebook Marketing API。 我只是想从我的Facebook企业帐户中读取广告系列。我在那里有一个广告帐户和一个广告系列。 我想我的问题是生成令牌。

我只是从此处生成令牌:https://developers.facebook.com/tools/explorer?classic=0

我得到的错误是:

{ 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' } }

我的Node.js代码是:

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)
}

要生成令牌,我选择我创建的应用程序“获取用户访问令牌”,然后在其中选择所有可能的权限-只是为了对此进行测试。

我在做什么错?谢谢

1 个答案:

答案 0 :(得分:0)

我怀疑这是由于权限错误造成的。

首先,我将检查您的应用是否有权访问您尝试访问的帐户。

enter image description here

然后,我建议您通过业务经理(可以在业务设置下找到)创建系统用户,分配其对广告帐户的访问权限,并在初始化库时利用系统用户的令牌。

一大优势是系统用户的令牌没有那么短的到期时间。

Facebook system user doc