The Marketing API has it is own rate limiting logic. If you are encountering errors mentioning a reached limit, see Rate Limiting.
The copies of this ad.
GET /v24.0/{ad-id}/copies HTTP/1.1
Host: graph.facebook.com
/* PHP SDK v5.0.0 */
/* make the API call */
try {
// Returns a `Facebook\FacebookResponse` object
$response = $fb->get(
'/{ad-id}/copies',
'{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();
/* handle the result */
/* make the API call */
FB.api(
"/{ad-id}/copies",
function (response) {
if (response && !response.error) {
/* handle the result */
}
}
);
/* make the API call */
new GraphRequest(
AccessToken.getCurrentAccessToken(),
"/{ad-id}/copies",
null,
HttpMethod.GET,
new GraphRequest.Callback() {
public void onCompleted(GraphResponse response) {
/* handle the result */
}
}
).executeAsync();
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
initWithGraphPath:@"/{ad-id}/copies"
parameters:params
HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
id result,
NSError *error) {
// Handle the result
}];
パラメーター | 説明 |
---|---|
date_preset enum{today, yesterday, this_month, last_month, this_quarter, maximum, data_maximum, last_3d, last_7d, last_14d, last_28d, last_30d, last_90d, last_week_mon_sun, last_week_sun_sat, last_quarter, last_year, this_week_mon_today, this_week_sun_today, this_year} | Preset date range used to aggregate insights metrics |
effective_status list<string> | Filter Ads by effective status |
time_range {'since':YYYY-MM-DD,'until':YYYY-MM-DD} | Time range used to aggregate insights metrics |
since datetime | A date in the format of "YYYY-MM-DD", which means from the beginning midnight of that day. |
until datetime | A date in the format of "YYYY-MM-DD", which means to the beginning midnight of the following day. |
updated_since integer | Filter ads by updated since time |
このエッジからの読み込むではJSONフォーマットの結果が返されます:
{ "
data
": [], "paging
": {}, "summary
": {} }
data
paging
summary
エッジの集計情報(数値など)。サマリーパラメータで取得するフィールドを指定します(サマリー=insights
など)。
フィールド | 説明 |
---|---|
insights Edge<AdsInsights> | Analytics summary for all objects |
total_count unsigned int32 | Total number of objects |
エラー | 詳細 |
---|---|
104 | Incorrect signature |
To copy an ad set targeted in the European Union's Digital Services Act (DSA) regulated locations, please set the payor/beneficiary information first. Otherwise the copying request may respond with one of the following errors:
Payor missing error
{ "error": { "message": "Invalid parameter", "type": "FacebookApiException", "code": 100, "error_data": "{\"blame_field_specs\":[[\"dsa_payor\"]]}", "error_subcode": 3858079, "is_transient": false, "error_user_title": "No payor provided in DSA regulated region", "error_user_msg": "The DSA requires ads to provide payor information in regulated regions. Updating/creating ad needs to provide payor of the ad.", "fbtrace_id": "fbtrace_id" }, "__fb_trace_id__": "fbtrace_id", "__www_request_id__": "request_id" }Beneficiary missing error
{ "error": { "message": "Invalid parameter", "type": "FacebookApiException", "code": 100, "error_data": "{\"blame_field_specs\":[[\"dsa_beneficiary\"]]}", "error_subcode": 3858081, "is_transient": false, "error_user_title": "No payor/beneficiary provided in DSA regulated location", "error_user_msg": "The DSA requires ads to provide beneficiary information in regulated regions. Updating/creating ad needs to provide beneficiary of the ad.", "fbtrace_id": "fbtrace_id" }, "__fb_trace_id__": "fbtrace_id", "__www_request_id__": "request_id" }
When making a copy of an ad, you may overwrite fields on the creative spec by using the creative_parameters
argument. Currently, this supports overwriting the API spec at the top-level parameter level, i.e. when creative_parameter
supplied, the new creative will use all of the newly provided value for any valid parameter. Otherwise, the values from the source ad’s creative will be used.
Find out more about the available fields in our documentation for ad creatives.
{ "body": "original ad body", "degrees_of_freedom_spec": { "creative_features_spec": { "text_optimizations": { "enroll_status": "OPT_IN" }, "inline_comment": { "enroll_status": "OPT_IN" } } }, "image_url": "https://example.com/my-image-url", "name": "original ad name", "title": "original ad body" }Supplied input for copy operation
{ "degrees_of_freedom_spec": { "creative_features_spec": { "text_optimizations": { "enroll_status": "OPT_IN" }, "image_touchups": { "enroll_status": "OPT_IN" } } }, "image_url": "https://example.com/my–other-image-url", "url_tags": "source=fb_ad" }Resulting creative
{ "body": "original ad body", "degrees_of_freedom_spec": { "creative_features_spec": { "text_optimizations": { "enroll_status": "OPT_IN" }, "image_touchups": { "enroll_status": "OPT_IN" } } }, "image_url": "https://example.com/my–other-image-url", "name": "original ad name", "title": "original ad body", "url_tags": "source=fb_ad" }
Note the following:
body
, name
, title
are not supplied in the input spec, so they are carried over from the originalurl_tags
is defined in the input spec, but not in the original spec. It is defined in the new specimage_url
is defined in both. The input value is used in the new spec.degrees_of_freedom_spec
defines opt-ins for text_optimizations
and inline_comment
in the original spec, and only text_optimizations
and image_touchups
in the new spec. The input degrees_of_freedom_spec
completely overrides the old one, and previously defined sub-fields are not used.copies
のエッジにPOSTリクエストを以下のパスで送信できます: パラメーター | 説明 |
---|---|
adset_id numeric string or integer | Single ID of an adset object to make the parent of the copy. Ignore if you want to keep the copy under the original adset parent. |
creative_parameters AdCreative | Creative inputs which will be used to construct the creative in the new ad. Overwrites happen at the top level. If no input is provided, the new ad will be created with an identical ad creative. If some input is provided, those parameters will be assigned to the ad creative created by this API call. Accepts all ad creative parameters as specified in https://developers.facebook.com/docs/marketing-api/reference/ad-account/adcreatives/ 絵文字をサポートします |
rename_options JSON or object-like arrays | Rename options |
rename_strategy enum {DEEP_RENAME, ONLY_TOP_LEVEL_RENAME, NO_RENAME} | デフォルト値: ONLY_TOP_LEVEL_RENAME
|
rename_prefix string | A prefix to copy names. Defaults to null if not provided. |
rename_suffix string | A suffix to copy names. Defaults to null if not provided and appends a localized string of |
status_option enum {ACTIVE, PAUSED, INHERITED_FROM_SOURCE} | デフォルト値: PAUSED
|
copied_ad_id
によって表されたノードを戻り値の型で読み込みます。copied_ad_id
: numeric string, エラー | 詳細 |
---|---|
100 | Invalid parameter |
200 | Permissions error |