php - facebook php ads sdk - AdCraeative 参数无效
问题描述
我正在尝试进入 facebook php ads sdk。
use FacebookAds\Object\AdCreative;
use FacebookAds\Object\Fields\AdCreativeFields;
use FacebookAds\Object\Fields\AdCreativeObjectStorySpecFields;
$creative = new AdCreative(null, $account->id);
$creative->setData(array(
AdCreativeFields::NAME => 'Sample Creative',
AdCreativeFields::TITLE => 'Welcome to the Jungle',
AdCreativeFields::BODY => 'We\'ve got fun \'n\' games',
AdCreativeFields::IMAGE_HASH => $image->hash,
AdCreativeFields::OBJECT_URL => 'http://www.example.com/',
AdCreativeObjectStorySpecFields::PAGE_ID => 101xxxxxxxxxxxxx,
));
$creative->create();
echo 'Creative ID: '.$creative->id . "\n";
我仍然收到此错误:
致命错误:未捕获的 FacebookAds\Http\Exception\AuthorizationException:C:\xampp\htdocs\FB_ADS_PHP\vendor\facebook\php-business-sdk\src\FacebookAds\Http\Exception\RequestException.php:144 中的参数无效 堆栈跟踪: #0 C:\xampp\htdocs\FB_ADS_PHP\vendor\facebook\php-business-sdk\src\FacebookAds\Http\Client.php(215): FacebookAds\Http\Exception\RequestException::create(Object(FacebookAds\Http \Response)) #1 C:\xampp\htdocs\FB_ADS_PHP\vendor\facebook\php-business-sdk\src\FacebookAds\Http\Request.php(282): FacebookAds\Http\Client->sendRequest(Object(FacebookAds \Http\Request)) #2 C:\xampp\htdocs\FB_ADS_PHP\vendor\facebook\php-business-sdk\src\FacebookAds\Api.php(162): FacebookAds\Http\Request->execute() #3 C:\xampp\htdocs\FB_ADS_PHP\vendor\facebook\php-business-sdk\src\FacebookAds\Api.php(204): FacebookAds\Api->executeRequest(Object(FacebookAds\Http\Request)) #4 C:\xampp\htdocs\FB_ADS_PHP\vendor\facebook\php-business-sdk\src\FacebookAds\Object\AbstractCrudObject.php(241): FacebookAds\Api-> call('/act_4225516715...', 'POST' in C:\xampp\htdocs\FB_ADS_PHP\vendor\facebook\php-business-sdk\src\FacebookAds\Http\Exception\RequestException.php 在第 144 行
在这条线上:
$creative->create();
请问有什么帮助吗?
解决方案
所以 facebook API 总是在变化并且超级烦人。你所拥有的应该工作,我的意思是我正在阅读文档,但我设法让它工作的方式是对 adcreatives 边缘进行 POST。
try {
// Returns a `Facebook\FacebookResponse` object
$response = $fb->post(
'/act_<AD_ACCOUNT_ID>/adcreatives',
array (
'name' => 'Sample Creative',
'title' => 'Welcome to the Jungle',
'body' => 'We\'ve got fun \'n\' games',
'image_hash' => $image->hash,
'object_url' => 'http://www.example.com/',
'object_story_id' => '101xxxxxxxxxxxxx',
),
'{access-token}'
);
} catch(Facebook\Exceptions\FacebookResponseException $e) {
echo 'Graph returned an error: ' . $e->getMessage();
exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
echo 'Facebook SDK returned an error: ' . $e->getMessage();
exit;
}
$graphNode = $response->getGraphNode();
但是我刚刚注意到,在您的原始帖子中,您是从哪里获得 $image->hash 的?那可能是你的问题。
推荐阅读
- c# - MySql 传递参数给出不同的结果
- javascript - 在命令或断言引发超时错误后,我可以执行命令并将其显示在命令日志(时间旅行)中吗?
- azure - 使用 Azure 数据工厂捕获元数据并存储在 SQL 数据库中?
- python - 无法将张量流导入项目
- javascript - TypeError: Post.create 不是 mongodb 的函数
- json - 如何用我在 ViewDidLoad 上收到的数据填充 UITableView?
- r - R Highcharter:Shiny on the fly 中的动态钻取
- java - 需要创建集合实例的建议
- java - 通过多个正则表达式在Java中拆分字符串
- android - How create an isolated context in Android for instrumented test