プロンプト
facebook広告APIを使って、広告グループを作成したい。SDKとREST APIの場合のコードを書いて。PHPがいい。
会話のようなプロンプトを送信
回答:SDK部分のコード
chatgpt
<?php
require_once 'FacebookAds/autoload.php';
use FacebookAds\Object\AdAccount;
use FacebookAds\Object\AdSet;
use FacebookAds\Object\Fields\AdSetFields;
use FacebookAds\Object\Values\BillingEvents;
use FacebookAds\Object\Values\OptimizationGoals;
use FacebookAds\Object\Fields\TargetingSpecsField;
use FacebookAds\Object\Values\TargetingSpecsFieldValues;
use FacebookAds\Object\Values\AdObjectType;
use FacebookAds\Object\AdCreative;
use FacebookAds\Object\AdImage;
$appID = 'your_app_id';
$appSecret = 'your_app_secret';
$accessToken = 'your_access_token';
$adAccountID = 'your_ad_account_id';
FacebookAdsConfig::setAppId($appID);
FacebookAdsConfig::setAppSecret($appSecret);
FacebookAdsConfig::setAccessToken($accessToken);
$adAccount = new AdAccount($adAccountID);
$params = array(
AdSetFields::NAME => 'My Ad Set',
AdSetFields::OPTIMIZATION_GOAL => OptimizationGoals::LINK_CLICKS,
AdSetFields::BILLING_EVENT => BillingEvents::IMPRESSIONS,
AdSetFields::BID_AMOUNT => 100,
AdSetFields::CAMPAIGN_ID => 'your_campaign_id',
AdSetFields::TARGETING => array(
TargetingSpecsField::GEO_LOCATIONS => array('countries' => array('US')),
TargetingSpecsField::AGE_MIN => 18,
TargetingSpecsField::AGE_MAX => 65,
),
);
$adSet = $adAccount->createAdSet($params);
echo 'Ad Set ID: ' . $adSet->id . PHP_EOL;
?>
変数部分を直す必要がある。
claude
<?php
require_once __DIR__ . '/vendor/autoload.php';
use FacebookAds\Api;
use FacebookAds\Object\AdAccount;
use FacebookAds\Object\AdSet;
$app_id = 'YOUR_APP_ID';
$app_secret = 'YOUR_APP_SECRET';
$access_token = 'YOUR_ACCESS_TOKEN';
$ad_account_id = 'YOUR_AD_ACCOUNT_ID';
Api::init($app_id, $app_secret, $access_token);
$account = new AdAccount($ad_account_id);
$adset = $account->createAdSet(
[],
[
AdSet::FIELD_NAME => 'My First AdSet',
AdSet::FIELD_LIFETIME_BUDGET => '20000',
AdSet::FIELD_START_TIME => (new \DateTime('+1 day'))->format(\DateTime::ISO8601),
AdSet::FIELD_END_TIME => (new \DateTime('+10 day'))->format(\DateTime::ISO8601),
AdSet::FIELD_CAMPAIGN_ID => 'CAMPAIGN_ID',
AdSet::FIELD_BID_AMOUNT => '500',
AdSet::FIELD_BILLING_EVENT => 'IMPRESSIONS',
AdSet::FIELD_OPTIMIZATION_GOAL => 'REACH',
AdSet::FIELD_TARGETING => [
'geo_locations' => [
'countries' => ['US'],
],
],
AdSet::FIELD_STATUS => AdSet::STATUS_PAUSED,
]
);
echo 'AdSet ID: ' . $adset->id;
これも変数部分を直す必要がある。
perplexity
<?php
use FacebookAds\Api;
use FacebookAds\Object\AdAccount;
use FacebookAds\Object\Fields\AdAccountFields;
use FacebookAds\Object\AdSet;
use FacebookAds\Object\Fields\AdSetFields;
// アプリケーションIDとアプリケーションシークレットを設定
$app_id = 'YOUR_APP_ID';
$app_secret = 'YOUR_APP_SECRET';
// アクセストークンを取得
$access_token = 'YOUR_ACCESS_TOKEN';
// SDKを初期化
Api::init($app_id, $app_secret, $access_token);
// 広告アカウントを取得
$account = new AdAccount('YOUR_AD_ACCOUNT_ID');
// 広告グループを作成
$ad_set = new AdSet();
$ad_set->{AdSetFields::NAME} = 'My Ad Set';
$ad_set->{AdSetFields::CAMPAIGN_ID} = 'YOUR_CAMPAIGN_ID';
$ad_set->{AdSetFields::DAILY_BUDGET} = 100;
$ad_set->{AdSetFields::BID_AMOUNT} = 10;
$ad_set->{AdSetFields::BID_INFO} = [
'ACTIONS' => [
'action_type' => 'CONVERSIONS',
'bid_amount' => 10,
],
];
$ad_set->create();
// 広告グループのIDを取得
$ad_set_id = $ad_set->id;
echo "広告グループID: $ad_set_id";
変数などの書き方はいいが、create()はもう推奨されていないのでエラーになる。
perplexityはネットを参照してちゃんと書いてくれると思ったが、最新の情報には疎いのか?