Facebook 营销 api "read" 功能弃用问题

Facebook Marketing api "read" function deprecation issue

我正在为 fb marketing api 使用 php 代码并面临这个弃用问题

Deprecated: read is being deprecated, please try not to use this in new code.

use FacebookAds\Object\AdAccount;
use FacebookAds\Object\Fields\AdAccountFields;

$account = new AdAccount('act_<AD_ACCOUNT_ID>');
$account->read(array(
  AdAccountFields::TOS_ACCEPTED,
));

// Dump TOS Accepted info.
var_dump($account->{AdAccountFields::TOS_ACCEPTED});

他们是否在其他地方更新了代码?我应该使用什么来代替 read 函数?谢谢。

API成功return关于TOS的字段,可能是对SDK Library的弃用,试试这个(我接受了from an example in the repo):

use FacebookAds\Object\AdAccount;
use FacebookAds\Api;
use FacebookAds\Logger\CurlLogger;
$access_token = '<ACCESS_TOKEN>';
$app_secret = '<APP_SECRET>';
$app_id = '<APP_ID>';
$id = '<AD_ACCOUNT_ID>';
$api = Api::init($app_id, $app_secret, $access_token);
$api->setLogger(new CurlLogger());
$fields = array(
  'name',
  'tos_accepted',
);
$params = array(
);
echo json_encode((new AdAccount($id))->getSelf(
  $fields,
  $params
)->exportAllData(), JSON_PRETTY_PRINT);

read 函数已从 SDK

中弃用

你应该使用 getSelf 而不是这个。

他们在 https://github.com/facebook/facebook-php-business-sdk/blob/master/src/FacebookAds/Object/AbstractCrudObject.php

的第 277 行的 sdk 文件中提到了这一点
  /**
   * @deprecated
   * use getSelf() instead
   * Read object data from the graph
   *
   * @param string[] $fields Fields to request
   * @param array $params Additional request parameters
   * @return $this
   */

  public function read(array $fields = array(), array $params = array()) {
   .....
  }

您可以在那里找到与其他已弃用函数相关的文档。