在documentation我尝试创建产品目录和产品Feed后,我可以使用此Feed动态更新广告,但无法设法这样做,即使我遵循了那些像圣经一样的文档。
首先我创建了一个商务经理帐户,然后创建了一个应用程序,然后创建了一个产品目录。之后我只是在我的脚本中添加了这段代码:
require_once (ABSPATH.'vendor/autoload.php');
use FacebookAds\Object\ProductCatalog;
use FacebookAds\Object\Fields\ProductCatalogFields;
use FacebookAds\Object\ProductFeed;
use FacebookAds\Object\Fields\ProductFeedFields;
use FacebookAds\Object\Fields\ProductFeedScheduleFields;
$bussiness_id = 241842522939685;
$product_catalog_id = 953601841441659;
$product_catalog = new ProductCatalog(null, $bussiness_id);
$product_catalog->setData(array(
ProductCatalogFields::NAME => "Test",
));
$product_catalog->create();
$product_feed = new ProductFeed(null, $product_catalog_id);
$product_feed->setData(array(
ProductFeedFields::NAME => 'Test Feed',
ProductFeedFields::SCHEDULE => array(
ProductFeedScheduleFields::INTERVAL => 'DAILY',
ProductFeedScheduleFields::URL =>'http://www.example.com/sample_feed.tsv',
ProductFeedScheduleFields::HOUR => 22,
),
));
$product_feed->create();
出现以下错误:
致命错误:未捕获的异常' InvalidArgumentException'带消息' Api实例必须作为参数提供或设置为\ FacebookAds \ Api'中的实例。在C:\ wamp \ www \ site \ vendor \ facebook \ php-ads-sdk \ src \ FacebookAds \ Object \ AbstractCrudObject.php:95堆栈跟踪:#0 C:\ wamp \ www \ site \ vendor \ facebook \ php -ads-sdk \ src \ FacebookAds \ Object \ AbstractCrudObject.php(59):FacebookAds \ Object \ AbstractCrudObject :: assureApi(NULL)#1 C:\ wamp \ www \ site \ cs-modules \ feeds \ site \ facebook。 php(17):FacebookAds \ Object \ AbstractCrudObject-> __ construct(NULL,2.4184252293969E + 014)#2 C:\ wamp \ www \ site \ index.php(884):include(' C:\ wamp \ www \ sit ...')在第95行的C:\ wamp \ www \ site \ vendor \ facebook \ php-ads-sdk \ src \ FacebookAds \ Object \ AbstractCrudObject.php中抛出#3 {main}
我会给它一个镜头并说第一个参数(现在指定为doc的null)应该是一个指向api访问级别的值,但是我找不到任何关于这个价值应该是什么的文档,我从哪里得到它等等。可以请任何人指导我度过这个烂摊子吗?
答案 0 :(得分:0)
也许迟到了,但如果有人需要回答。您必须先初始化Api:FacebookAds\Api::init($app_id, $app_secret, $access_token);