مجموعه آیتم خوراک پیوند
با مجموعهها، منظم بمانید
ذخیره و دستهبندی محتوا براساس اولویتهای شما.
جاوا
// Copyright 2020 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package com.google.ads.googleads.examples.feeds;
import com.beust.jcommander.Parameter;
import com.google.ads.googleads.examples.utils.ArgumentNames;
import com.google.ads.googleads.examples.utils.CodeSampleParams;
import com.google.ads.googleads.lib.GoogleAdsClient;
import com.google.ads.googleads.v17.errors.GoogleAdsError;
import com.google.ads.googleads.v17.errors.GoogleAdsException;
import com.google.ads.googleads.v17.resources.FeedItemSetLink;
import com.google.ads.googleads.v17.services.FeedItemSetLinkOperation;
import com.google.ads.googleads.v17.services.FeedItemSetLinkServiceClient;
import com.google.ads.googleads.v17.services.MutateFeedItemSetLinkResult;
import com.google.ads.googleads.v17.services.MutateFeedItemSetLinksResponse;
import com.google.ads.googleads.v17.utils.ResourceNames;
import com.google.common.collect.ImmutableList;
import java.io.FileNotFoundException;
import java.io.IOException;
/**
* Links the specified feed item to the specified feed item set. The specified feed item set must
* not be created as a dynamic set, i.e., neither {@code dynamicLocationSetFilter} nor {@code
* dynamicAffiliateLocationSetFilter} should be set. In addition, the feed item must belong to the
* feed associated with the feed item set.
*/
public class LinkFeedItemSet {
private static class LinkFeedItemSetParams extends CodeSampleParams {
@Parameter(names = ArgumentNames.CUSTOMER_ID, required = true)
private long customerId;
@Parameter(names = ArgumentNames.FEED_ID, required = true)
private long feedId;
@Parameter(names = ArgumentNames.FEED_ITEM_SET_ID, required = true)
private long feedItemSetId;
@Parameter(names = ArgumentNames.FEED_ITEM_ID, required = true)
private long feedItemId;
}
public static void main(String[] args) {
LinkFeedItemSetParams params = new LinkFeedItemSetParams();
if (!params.parseArguments(args)) {
// Either pass the required parameters for this example on the command line, or insert them
// into the code here. See the parameter class definition above for descriptions.
params.customerId = Long.parseLong("INSERT_CUSTOMER_ID_HERE");
params.feedId = Long.parseLong("INSERT_FEED_ID_HERE");
params.feedItemSetId = Long.parseLong("INSERT_FEED_ITEM_SET_ID_HERE");
params.feedItemId = Long.parseLong("INSERT_FEED_ITEM_ID_HERE");
}
GoogleAdsClient googleAdsClient = null;
try {
googleAdsClient = GoogleAdsClient.newBuilder().fromPropertiesFile().build();
} catch (FileNotFoundException fnfe) {
System.err.printf(
"Failed to load GoogleAdsClient configuration from file. Exception: %s%n", fnfe);
System.exit(1);
} catch (IOException ioe) {
System.err.printf("Failed to create GoogleAdsClient. Exception: %s%n", ioe);
System.exit(1);
}
try {
new LinkFeedItemSet()
.runExample(
googleAdsClient,
params.customerId,
params.feedId,
params.feedItemSetId,
params.feedItemId);
} catch (GoogleAdsException gae) {
// GoogleAdsException is the base class for most exceptions thrown by an API request.
// Instances of this exception have a message and a GoogleAdsFailure that contains a
// collection of GoogleAdsErrors that indicate the underlying causes of the
// GoogleAdsException.
System.err.printf(
"Request ID %s failed due to GoogleAdsException. Underlying errors:%n",
gae.getRequestId());
int i = 0;
for (GoogleAdsError googleAdsError : gae.getGoogleAdsFailure().getErrorsList()) {
System.err.printf(" Error %d: %s%n", i++, googleAdsError);
System.exit(1);
}
}
}
/**
* Runs the example.
*
* @param googleAdsClient the Google Ads API client.
* @param customerId the customer ID.
* @param feedId the feed ID.
* @param feedItemSetId the feed item set ID.
* @param feedItemId the feed item ID.
* @throws GoogleAdsException if an API request failed with one or more service errors.
*/
private void runExample(
GoogleAdsClient googleAdsClient,
long customerId,
long feedId,
long feedItemSetId,
long feedItemId) {
// Creates a new feed item set link that binds the specified feed item set and feed item.
String feedItemSetResourceName = ResourceNames.feedItemSet(customerId, feedId, feedItemSetId);
String feedItemResourceName = ResourceNames.feedItem(customerId, feedId, feedItemId);
FeedItemSetLink feedItemSetLink =
FeedItemSetLink.newBuilder()
.setFeedItemSet(feedItemSetResourceName)
.setFeedItem(feedItemResourceName)
.build();
// Constructs a feed item set link operation.
FeedItemSetLinkOperation feedItemSetLinkOperation =
FeedItemSetLinkOperation.newBuilder().setCreate(feedItemSetLink).build();
// Creates the feed item set link service client.
try (FeedItemSetLinkServiceClient feedItemSetLinkServiceClient =
googleAdsClient.getLatestVersion().createFeedItemSetLinkServiceClient()) {
// Issues a mutate request to add the feed item set link on the server.
MutateFeedItemSetLinksResponse response =
feedItemSetLinkServiceClient.mutateFeedItemSetLinks(
Long.toString(customerId), ImmutableList.of(feedItemSetLinkOperation));
// Prints some information about the created feed item set link.
for (MutateFeedItemSetLinkResult result : response.getResultsList()) {
System.out.printf(
"Created a feed item set link with resource name '%s' that links feed item set '%s' "
+ "to feed item '%s'.%n",
result.getResourceName(), feedItemSetResourceName, feedItemResourceName);
}
}
}
}
سی شارپ
// Copyright 2020 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
using CommandLine;
using Google.Ads.Gax.Examples;
using Google.Ads.GoogleAds.Lib;
using Google.Ads.GoogleAds.V17.Errors;
using Google.Ads.GoogleAds.V17.Resources;
using Google.Ads.GoogleAds.V17.Services;
using System;
using System.Collections.Generic;
namespace Google.Ads.GoogleAds.Examples.V17
{
/// <summary>
/// This code example links the specified feed item to the specified feed item set. The
/// specified feed item set must not be created as a dynamic set, i.e., neither
/// <code>DynamicLocationSetFilter</code>
/// nor
/// <code>DynamicAffiliateLocationSetFilter</code>
/// should be set. In addition, the feed item must belong to the feed associated with the feed
/// item set.
/// </summary>
public class LinkFeedItemSet : ExampleBase
{
/// <summary>
/// Command line options for running the <see cref="LinkFeedItemSet"/> example.
/// </summary>
public class Options : OptionsBase
{
/// <summary>
/// The Google Ads customer ID for which the call is made.
/// </summary>
[Option("customerId", Required = true, HelpText =
"The Google Ads customer ID for which the call is made.")]
public long CustomerId { get; set; }
/// <summary>
/// ID of the feed associated with the feed item set.
/// </summary>
[Option("feedId", Required = true, HelpText =
"ID of the feed associated with the feed item set.")]
public long FeedId { get; set; }
/// <summary>
/// ID of the feed item set.
/// </summary>
[Option("feedItemSetId", Required = true, HelpText =
"ID of the feed item set.")]
public long FeedItemSetId { get; set; }
/// <summary>
/// ID of the feed item to link to the set.
/// </summary>
[Option("feedItemId", Required = true, HelpText =
"ID of the feed item to link to the set.")]
public long FeedItemId { get; set; }
}
/// <summary>
/// Main method, to run this code example as a standalone application.
/// </summary>
/// <param name="args">The command line arguments.</param>
public static void Main(string[] args)
{
Options options = ExampleUtilities.ParseCommandLine<Options>(args);
LinkFeedItemSet codeExample = new LinkFeedItemSet();
Console.WriteLine(codeExample.Description);
codeExample.Run(new GoogleAdsClient(), options.CustomerId, options.FeedId,
options.FeedItemSetId, options.FeedItemId);
}
/// <summary>
/// Returns a description about the code example.
/// </summary>
public override string Description => "This code example links the specified feed item " +
"to the specified feed item set. The specified feed item set must not be created as " +
"a dynamic set, i.e., neither <code>DynamicLocationSetFilter</code> nor " +
"<code>DynamicAffiliateLocationSetFilter</code> should be set. In addition, the " +
"feed item must belong to the feed associated with the feed item set.";
/// <summary>
/// Runs the code example.
/// </summary>
/// <param name="client">The Google Ads API client.</param>
/// <param name="customerId">The Google Ads customer ID for which the call is made.</param>
/// <param name="feedId">ID of the feed associated with the feed item set.</param>
/// <param name="feedItemSetId">ID of the feed item set.</param>
/// <param name="feedItemId">ID of the feed item to link to the set.</param>
public void Run(GoogleAdsClient client, long customerId, long feedId, long feedItemSetId,
long feedItemId)
{
// Get the FeedItemSetLinkService.
FeedItemSetLinkServiceClient feedItemSetLinkService = client.GetService(
Services.V17.FeedItemSetLinkService);
// Creates a new feed item set link that binds the specified feed item set and feed
// item.
string feedItemSetResourceName = ResourceNames.FeedItemSet(customerId, feedId,
feedItemSetId);
string feedItemResourceName = ResourceNames.FeedItem(customerId, feedId, feedItemId);
FeedItemSetLink feedItemSetLink = new FeedItemSetLink()
{
FeedItemSet = feedItemSetResourceName,
FeedItem = feedItemResourceName
};
// Constructs a feed item set link operation.
FeedItemSetLinkOperation operation = new FeedItemSetLinkOperation()
{
Create = feedItemSetLink
};
try
{
// Issues a mutate request to add the feed item set link on the server.
MutateFeedItemSetLinksResponse response =
feedItemSetLinkService.MutateFeedItemSetLinks(customerId.ToString(),
new[] { operation });
// Prints some information about the created feed item set link.
foreach (MutateFeedItemSetLinkResult result in response.Results)
{
Console.WriteLine($"Created a feed item set link with resource name " +
$"'{result.ResourceName}' that links feed item set " +
$"'{feedItemSetResourceName}' to feed item '{feedItemResourceName}'.");
}
}
catch (GoogleAdsException e)
{
Console.WriteLine("Failure:");
Console.WriteLine($"Message: {e.Message}");
Console.WriteLine($"Failure: {e.Failure}");
Console.WriteLine($"Request ID: {e.RequestId}");
throw;
}
}
}
}
PHP
<?php
/**
* Copyright 2020 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
namespace Google\Ads\GoogleAds\Examples\Feeds;
require __DIR__ . '/../../vendor/autoload.php';
use GetOpt\GetOpt;
use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames;
use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser;
use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder;
use Google\Ads\GoogleAds\Lib\V17\GoogleAdsClient;
use Google\Ads\GoogleAds\Lib\V17\GoogleAdsClientBuilder;
use Google\Ads\GoogleAds\Lib\V17\GoogleAdsException;
use Google\Ads\GoogleAds\Util\V17\ResourceNames;
use Google\Ads\GoogleAds\V17\Errors\GoogleAdsError;
use Google\Ads\GoogleAds\V17\Resources\FeedItemSetLink;
use Google\Ads\GoogleAds\V17\Services\FeedItemSetLinkOperation;
use Google\Ads\GoogleAds\V17\Services\MutateFeedItemSetLinksRequest;
use Google\ApiCore\ApiException;
/**
* Links the specified feed item set to the specified feed item. The specified feed item set must
* not be created as a dynamic set, i.e., both FeedItemSet::$dynamic_location_set_filter and
* FeedItemSet::$dynamic_affiliate_location_set_filter must not be set.
*/
class LinkFeedItemSet
{
private const CUSTOMER_ID = 'INSERT_CUSTOMER_ID_HERE';
private const FEED_ID = 'INSERT_FEED_ID_HERE';
private const FEED_ITEM_SET_ID = 'INSERT_FEED_ITEM_SET_ID_HERE';
private const FEED_ITEM_ID = 'INSERT_FEED_ITEM_ID_HERE';
public static function main()
{
// Either pass the required parameters for this example on the command line, or insert them
// into the constants above.
$options = (new ArgumentParser())->parseCommandArguments([
ArgumentNames::CUSTOMER_ID => GetOpt::REQUIRED_ARGUMENT,
ArgumentNames::FEED_ID => GetOpt::REQUIRED_ARGUMENT,
ArgumentNames::FEED_ITEM_SET_ID => GetOpt::REQUIRED_ARGUMENT,
ArgumentNames::FEED_ITEM_ID => GetOpt::REQUIRED_ARGUMENT
]);
// Generate a refreshable OAuth2 credential for authentication.
$oAuth2Credential = (new OAuth2TokenBuilder())->fromFile()->build();
// Construct a Google Ads client configured from a properties file and the
// OAuth2 credentials above.
$googleAdsClient = (new GoogleAdsClientBuilder())->fromFile()
->withOAuth2Credential($oAuth2Credential)
// We set this value to true to show how to use GAPIC v2 source code. You can remove the
// below line if you wish to use the old-style source code. Note that in that case, you
// probably need to modify some parts of the code below to make it work.
// For more information, see
// https://developers.devsite.corp.google.com/google-ads/api/docs/client-libs/php/gapic.
->usingGapicV2Source(true)
->build();
try {
self::runExample(
$googleAdsClient,
$options[ArgumentNames::CUSTOMER_ID] ?: self::CUSTOMER_ID,
$options[ArgumentNames::FEED_ID] ?: self::FEED_ID,
$options[ArgumentNames::FEED_ITEM_SET_ID] ?: self::FEED_ITEM_SET_ID,
$options[ArgumentNames::FEED_ITEM_ID] ?: self::FEED_ITEM_ID
);
} catch (GoogleAdsException $googleAdsException) {
printf(
"Request with ID '%s' has failed.%sGoogle Ads failure details:%s",
$googleAdsException->getRequestId(),
PHP_EOL,
PHP_EOL
);
foreach ($googleAdsException->getGoogleAdsFailure()->getErrors() as $error) {
/** @var GoogleAdsError $error */
printf(
"\t%s: %s%s",
$error->getErrorCode()->getErrorCode(),
$error->getMessage(),
PHP_EOL
);
}
exit(1);
} catch (ApiException $apiException) {
printf(
"ApiException was thrown with message '%s'.%s",
$apiException->getMessage(),
PHP_EOL
);
exit(1);
}
}
/**
* Runs the example.
*
* @param GoogleAdsClient $googleAdsClient the Google Ads API client
* @param int $customerId the customer ID
* @param int $feedId the feed ID that the specified feed item set is associated with
* @param int $feedItemSetId the ID of specified feed item set
* @param int $feedItemId the ID of specified feed item
*/
public static function runExample(
GoogleAdsClient $googleAdsClient,
int $customerId,
int $feedId,
int $feedItemSetId,
int $feedItemId
) {
// Creates a new feed item set link that binds the specified feed item set and feed item.
$feedItemSetLink = new FeedItemSetLink([
'feed_item_set' => ResourceNames::forFeedItemSet($customerId, $feedId, $feedItemSetId),
'feed_item' => ResourceNames::forFeedItem($customerId, $feedId, $feedItemId)
]);
// Constructs a feed item set link operation.
$feedItemSetLinkOperation = new FeedItemSetLinkOperation();
$feedItemSetLinkOperation->setCreate($feedItemSetLink);
// Issues a mutate request to add the feed item set link on the server.
$feedItemSetLinkServiceClient = $googleAdsClient->getFeedItemSetLinkServiceClient();
$response = $feedItemSetLinkServiceClient->mutateFeedItemSetLinks(
MutateFeedItemSetLinksRequest::build($customerId, [$feedItemSetLinkOperation])
);
// Prints some information about the created feed item set link.
printf(
"Created a feed item set link with resource name '%s'.%s",
$response->getResults()[0]->getResourceName(),
PHP_EOL
);
}
}
LinkFeedItemSet::main();
پایتون
#!/usr/bin/env python
# Copyright 2020 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
"""Links the specified feed item set to the specified feed item.
The specified feed item set must not be created as a dynamic set, i.e. both
dynamic_location_set_filter and dynamic_affiliate_location_set_filter must not
be set. Learn more here:
https://developers.google.com/google-ads/api/docs/location-extensions/feed-item-set?hl=en#adding-feed-item
"""
import argparse
import sys
from google.ads.googleads.client import GoogleAdsClient
from google.ads.googleads.errors import GoogleAdsException
def main(client, customer_id, feed_id, feed_item_id, feed_item_set_id):
"""The main method that creates all necessary entities for the example.
Args:
client: an initialized GoogleAdsClient instance.
customer_id: a client customer ID.
feed_id: the ID of the feed associated with the specified feed item set.
feed_item_id: the ID of the specified feed item.
feed_item_set_id: the ID of the feed item set to link to the feed item.
"""
feed_item_set_link_service = client.get_service("FeedItemSetLinkService")
feed_item_set_link_operation = client.get_type("FeedItemSetLinkOperation")
# Construct an operation that will link the feed item to the feed item set.
feed_item_set_link = feed_item_set_link_operation.create
# Construct a resource name for a feed item, which is in the format:
# customers/{customer_id}/feedItems/{feed_id}~{feed_item_id}
feed_item_set_link.feed_item = client.get_service(
"FeedItemService"
).feed_item_path(customer_id, feed_id, feed_item_id)
# Construct a resource name for a feed item set, which is in the
# format: customers/{customer_id}/feedItemSets/{feed_id}~{feed_item_set_id}
feed_item_set_link.feed_item_set = client.get_service(
"FeedItemSetService"
).feed_item_set_path(customer_id, feed_id, feed_item_set_id)
# Issue a mutate request to add the feed item set link on the server.
response = feed_item_set_link_service.mutate_feed_item_set_links(
customer_id=customer_id, operations=[feed_item_set_link_operation]
)
print(
"Created a feed item set link with resource name: "
f"'{response.results[0].resource_name}'"
)
if __name__ == "__main__":
parser = argparse.ArgumentParser(
description="Links the specified feed item set to the specified feed item."
)
# The following argument(s) should be provided to run the example.
parser.add_argument(
"-c",
"--customer_id",
type=str,
required=True,
help="The Google Ads customer ID.",
)
parser.add_argument(
"-f",
"--feed_id",
type=str,
required=True,
help="The feed ID.",
)
parser.add_argument(
"-i",
"--feed_item_id",
type=str,
required=True,
help="The feed item ID.",
)
parser.add_argument(
"-s",
"--feed_item_set_id",
type=str,
required=True,
help="The feed item set ID.",
)
args = parser.parse_args()
# GoogleAdsClient will read the google-ads.yaml configuration file in the
# home directory if none is specified.
googleads_client = GoogleAdsClient.load_from_storage(version="v17")
try:
main(
googleads_client,
args.customer_id,
args.feed_id,
args.feed_item_id,
args.feed_item_set_id,
)
except GoogleAdsException as ex:
print(
f'Request with ID "{ex.request_id}" failed with status '
f'"{ex.error.code().name}" and includes the following errors:'
)
for error in ex.failure.errors:
print(f'\tError with message "{error.message}".')
if error.location:
for field_path_element in error.location.field_path_elements:
print(f"\t\tOn field: {field_path_element.field_name}")
sys.exit(1)
روبی
#!/usr/bin/env ruby
# Encoding: utf-8
#
# Copyright 2020 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# Links the specified feed item set to the specified feed item. The specified
# feed item set must not be created as a dynamic set, i.e. both
# FeedItemSet.dynamic_location_set_filter and
# FeedItemSet.dynamic_affiliate_location_set_filter must not be set.
require 'optparse'
require 'google/ads/google_ads'
def link_feed_item_set(customer_id, feed_id, feed_item_set_id, feed_item_id)
# GoogleAdsClient will read a config file from
# ENV['HOME']/google_ads_config.rb when called without parameters
client = Google::Ads::GoogleAds::GoogleAdsClient.new
operation = client.operation.create_resource.feed_item_set_link do |link|
link.feed_item_set = client.path.feed_item_set(customer_id, feed_id, feed_item_set_id)
link.feed_item = client.path.feed_item(customer_id, feed_id, feed_item_id)
end
response = client.service.feed_item_set_link.mutate_feed_item_set_links(
customer_id: customer_id,
operations: [operation],
)
puts "Created feed item set link with resource name '#{response.results.first.resource_name}'."
end
if __FILE__ == $0
options = {}
# The following parameter(s) should be provided to run the example. You can
# either specify these by changing the INSERT_XXX_ID_HERE values below, or on
# the command line.
#
# Parameters passed on the command line will override any parameters set in
# code.
#
# Running the example with -h will print the command line usage.
options[:customer_id] = 'INSERT_CUSTOMER_ID_HERE'
options[:feed_id] = 'INSERT_FEED_ID_HERE'
options[:feed_item_set_id] = 'INSERT_FEED_ITEM_SET_ID_HERE'
options[:feed_item_id] = 'INSERT_FEED_ITEM_ID_HERE'
OptionParser.new do |opts|
opts.banner = sprintf('Usage: %s [options]', File.basename(__FILE__))
opts.separator ''
opts.separator 'Options:'
opts.on('-C', '--customer-id CUSTOMER-ID', String, 'Customer ID') do |v|
options[:customer_id] = v
end
opts.on('-F', '--feed-id FEED-ID', String, 'Feed ID') do |v|
options[:feed_id] = v
end
opts.on('-s', '--feed-item-set-id FEED-ITEM-SET-ID', String, 'Feed Item Set ID') do |v|
options[:feed_item_set_id] = v
end
opts.on('-i', '--feed-item-id FEED-ITEM-ID', String, 'Feed Item ID') do |v|
options[:feed_item_id] = v
end
opts.separator ''
opts.separator 'Help:'
opts.on_tail('-h', '--help', 'Show this message') do
puts opts
exit
end
end.parse!
begin
link_feed_item_set(
options.fetch(:customer_id).tr("-", ""),
options.fetch(:feed_id),
options.fetch(:feed_item_set_id),
options.fetch(:feed_item_id),
)
rescue Google::Ads::GoogleAds::Errors::GoogleAdsError => e
e.failure.errors.each do |error|
STDERR.printf("Error with message: %s\n", error.message)
if error.location
error.location.field_path_elements.each do |field_path_element|
STDERR.printf("\tOn field: %s\n", field_path_element.field_name)
end
end
error.error_code.to_h.each do |k, v|
next if v == :UNSPECIFIED
STDERR.printf("\tType: %s\n\tCode: %s\n", k, v)
end
end
raise
end
end
پرل
#!/usr/bin/perl -w
#
# Copyright 2020, Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# Links the specified feed item set to the specified feed item. The specified feed
# item set must not be created as a dynamic set, i.e., both
# FeedItemSet::dynamicLocationSetFilter and FeedItemSet::dynamicAffiliateLocationSetFilter
# must not be set.
use strict;
use warnings;
use utf8;
use FindBin qw($Bin);
use lib "$Bin/../../lib";
use Google::Ads::GoogleAds::Client;
use Google::Ads::GoogleAds::Utils::GoogleAdsHelper;
use Google::Ads::GoogleAds::V17::Resources::FeedItemSetLink;
use
Google::Ads::GoogleAds::V17::Services::FeedItemSetLinkService::FeedItemSetLinkOperation;
use Google::Ads::GoogleAds::V17::Utils::ResourceNames;
use Getopt::Long qw(:config auto_help);
use Pod::Usage;
use Cwd qw(abs_path);
# The following parameter(s) should be provided to run the example. You can
# either specify these by changing the INSERT_XXX_ID_HERE values below, or on
# the command line.
#
# Parameters passed on the command line will override any parameters set in
# code.
#
# Running the example with -h will print the command line usage.
my $customer_id = "INSERT_CUSTOMER_ID_HERE";
my $feed_id = "INSERT_FEED_ID_HERE";
my $feed_item_set_id = "INSERT_FEED_ITEM_SET_ID_HERE";
my $feed_item_id = "INSERT_FEED_ITEM_ID_HERE";
sub link_feed_item_set {
my ($api_client, $customer_id, $feed_id, $feed_item_set_id, $feed_item_id) =
@_;
# Create a new feed item set link that binds the specified feed item set and
# feed item.
my $feed_item_set_link =
Google::Ads::GoogleAds::V17::Resources::FeedItemSetLink->new({
feedItemSet =>
Google::Ads::GoogleAds::V17::Utils::ResourceNames::feed_item_set(
$customer_id, $feed_id, $feed_item_set_id
),
feedItem => Google::Ads::GoogleAds::V17::Utils::ResourceNames::feed_item(
$customer_id, $feed_id, $feed_item_id
)});
# Construct a feed item set link operation.
my $feed_item_set_link_operation =
Google::Ads::GoogleAds::V17::Services::FeedItemSetLinkService::FeedItemSetLinkOperation
->new({
create => $feed_item_set_link
});
# Issue a mutate request to add the feed item set link on the server.
my $feed_item_set_links_response =
$api_client->FeedItemSetLinkService()->mutate({
customerId => $customer_id,
operations => [$feed_item_set_link_operation]});
# Print some information about the created feed item set link.
printf
"Created a feed item set link with resource name '%s'.\n",
$feed_item_set_links_response->{results}[0]{resourceName};
return 1;
}
# Don't run the example if the file is being included.
if (abs_path($0) ne abs_path(__FILE__)) {
return 1;
}
# Get Google Ads Client, credentials will be read from ~/googleads.properties.
my $api_client = Google::Ads::GoogleAds::Client->new();
# By default examples are set to die on any server returned fault.
$api_client->set_die_on_faults(1);
# Parameters passed on the command line will override any parameters set in code.
GetOptions(
"customer_id=s" => \$customer_id,
"feed_id=i" => \$feed_id,
"feed_item_set_id=i" => \$feed_item_set_id,
"feed_item_id=i" => \$feed_item_id
);
# Print the help message if the parameters are not initialized in the code nor
# in the command line.
pod2usage(2)
if not check_params($customer_id, $feed_id, $feed_item_set_id, $feed_item_id);
# Call the example.
link_feed_item_set($api_client, $customer_id =~ s/-//gr,
$feed_id, $feed_item_set_id, $feed_item_id);
=pod
=head1 NAME
link_feed_item_set
=head1 DESCRIPTION
Links the specified feed item set to the specified feed item. The specified feed
item set must not be created as a dynamic set, i.e., both
FeedItemSet::dynamicLocationSetFilter and FeedItemSet::dynamicAffiliateLocationSetFilter
must not be set.
=head1 SYNOPSIS
link_feed_item_set.pl [options]
-help Show the help message.
-customer_id The Google Ads customer ID.
-feed_id The feed ID that the specified feed item set is
associated with.
-feed_item_set_id The ID of specified feed item set.
-feed_item_id The ID of specified feed item.
=cut
جز در مواردی که غیر از این ذکر شده باشد،محتوای این صفحه تحت مجوز Creative Commons Attribution 4.0 License است. نمونه کدها نیز دارای مجوز Apache 2.0 License است. برای اطلاع از جزئیات، به خطمشیهای سایت Google Developers مراجعه کنید. جاوا علامت تجاری ثبتشده Oracle و/یا شرکتهای وابسته به آن است.
تاریخ آخرین بهروزرسانی 2025-01-07 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","easyToUnderstand","thumb-up"],["مشکلم را برطرف کرد","solvedMyProblem","thumb-up"],["غیره","otherUp","thumb-up"]],[["اطلاعاتی که نیاز دارم وجود ندارد","missingTheInformationINeed","thumb-down"],["بیشازحد پیچیده/ مراحل بسیار زیاد","tooComplicatedTooManySteps","thumb-down"],["قدیمی","outOfDate","thumb-down"],["مشکل ترجمه","translationIssue","thumb-down"],["مشکل کد / نمونهها","samplesCodeIssue","thumb-down"],["غیره","otherDown","thumb-down"]],["تاریخ آخرین بهروزرسانی 2025-01-07 بهوقت ساعت هماهنگ جهانی."],[[["The code links a specific feed item to a feed item set within a Google Ads account for better organization and utilization of feed data in advertising campaigns."],["It initializes necessary objects, creates a link between the feed item and feed item set, and utilizes the Google Ads API to establish the connection."],["The code is available in Java, C#, and PHP, with the core logic remaining consistent across all implementations."],["The target feed item set cannot be dynamic, and the feed item must belong to the same feed as the feed item set."],["Successful execution results in a confirmation message, while error handling mechanisms address potential issues during API interaction."]]],[]]