【问题标题】:Stuck on 'Ads API Access Level:development'卡在“广告 API 访问级别:开发”上
【发布时间】:2021-03-08 05:03:20
【问题描述】:

我尝试开发一款可以暂停/恢复我的广告组(我自己拥有的帐户)的应用。

请求此操作时,我没有收到任何错误消息(或任何内容)输出

$adset = new AdSet($adsetid);
$adset->campaign_status = AdSet::STATUS_ACTIVE;
try{
  $adset->updateSelf();
} catch (RequestException $e) {
    $response = json_decode($e->getResponse()->getBody(), true);
    var_dump($response);
}

但我看到广告集状态没有改变。

现在,我确实看到营销 API 的设置部分显示 API 访问级别为开发,并且该应用没有广告管理标准访问权限。

当我在应用审核 > 权限和功能中检查权限时,它会显示“标准访问权限”和“准备使用”。 (但不是“活跃”)

同时我在过去 30 天内的请求数和错误率是可以接受的。 我不明白使它工作缺少什么。谁能帮帮我?

【问题讨论】:

  • “我没有收到任何错误消息(或任何东西)” - 你只捕获特定类型的异常 - 你确定这是唯一可能的异常类型曾经扔过吗?首先添加一个捕获任何通用异常的 catch 块,然后看看你会得到什么。
  • 在 Graph API Explorer 中手动发出模拟请求也可能会有所帮助。
  • 它返回给我这个,而在广告管理器中验证时实际状态没有改变。 { "success": true } 感觉就像我的访问必须获得验证/获得权限才能使其进入某种生产模式。但不知道我需要完成什么任务才能开始。

标签: facebook-graph-api facebook-php-sdk facebook-marketing-api


【解决方案1】:

我在问题中显示的代码基于我从 Facebook 营销 API 文档中复制的代码。

奇怪的是,当我使用 Graph API Explorer 模拟我的请求并点击“获取代码”按钮时,它会建议您使用不同的代码。

当我使用该代码而不是营销 API 文档的代码时,它似乎确实按预期工作。 此代码与文档中的代码相反:

$adsetid = "YOUR ADSET ID";
$access_token = "YOUR ACCESS TOKEN";
try {
  $response = $fb->post(
    '/'.$adsetid,
    array (
      'fields' => 'status',
      'status' => 'ACTIVE'
    ),
    $access_token
  );
} catch(FacebookExceptionsFacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(FacebookExceptionsFacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}
$graphNode = $response->getGraphNode();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-12
    • 2018-10-12
    相关资源
    最近更新 更多