无法设置产品目录和产品Feed

时间:2017-02-01 13:16:50

标签: php facebook facebook-php-sdk

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访问级别的值,但是我找不到任何关于这个价值应该是什么的文档,我从哪里得到它等等。可以请任何人指导我度过这个烂摊子吗?

1 个答案:

答案 0 :(得分:0)

也许迟到了,但如果有人需要回答。您必须先初始化Api:FacebookAds\Api::init($app_id, $app_secret, $access_token);