המדריך למתחילים הזה יעזור לכם לבצע את הקריאה הראשונה ל-Google Ads API.
מושגים מרכזיים
- פרויקט ב-Google Cloud: פרויקט ב-Google Cloud הוא הבסיס ליצירה, להפעלה ולשימוש בכל שירותי Google, כולל ניהול ממשקי API ופרטי כניסה ל-OAuth 2.0 API. אפשר ליצור פרויקט במסוף Google Cloud.
- רמת הגישה ל-API: רמת הגישה ל-API בפרויקט ב-Google Cloud קובעת את מספר הקריאות ל-API שאפשר לבצע ביום, ואת הסביבות שאפשר לבצע אליהן קריאות ל-API. רמת הגישה של הפרויקט ל-API מופיעה בדף הסקירה הכללית של הפרויקט ב-Google Ads API.
- חשבון ניהול ב-Google Ads: חשבון ניהול ב-Google Ads משמש לניהול חשבונות Google Ads אחרים, שיכולים להיות אוסף של חשבונות לקוח ב-Google Ads או חשבונות ניהול אחרים ב-Google Ads.
- חשבון לקוח ב-Google Ads: חשבון Google Ads שבו אתם משתמשים כדי להציג מודעות, שאליו אתם רוצים לטרגט את הקריאות ל-API.
- מספר לקוח: מספר בן 10 ספרות שמזהה חשבון לקוח ב-Google Ads. אם העתקתם את המזהה הזה מממשק המשתמש של Google Ads, הקפידו להסיר את המקפים.
- OAuth 2.0: פרוטוקול סטנדרטי בתחום להרשאה, שמשמש את כל Google APIs. כדי ליצור פרטי כניסה ל-OAuth 2.0 ולבצע קריאות ל-API, אתם צריכים חשבון שירות ומפתח.
- חשבון שירות: סוג מיוחד של חשבון Google ששייך לאפליקציה שלכם, ולא למשתמש פרטי. הוא משמש לאימות האפליקציה שלכם ב-Google Ads API. כדי לקבל חשבון שירות, צריך פרויקט ב-Google Cloud.
- מפתח לחשבון שירות: קובץ JSON של פרטי כניסה לאפליקציה שמכיל את המפתח הפרטי של חשבון השירות. הוא משמש ליצירת פרטי כניסה ל-OAuth 2.0 כדי לאמת חשבון שירות כשמבצעים קריאה ל-Google Ads API. כדי לקבל מפתח לחשבון שירות, צריך חשבון שירות.
דרישות מוקדמות
כדי לבצע קריאה ל-Google Ads API, צריך לבצע את השלבים הבאים.
הגדרת הפרויקט בענן כדי לקבל גישה ל-Google Ads API
הפרויקט ב-Google Cloud משמש לניהול ממשקי Google API ופרטי הכניסה ל-OAuth 2.0 API. במסוף Google Cloud אפשר למצוא את הפרויקטים הקיימים ב-Google Cloud או ליצור פרויקט חדש.
קודם כל, מפעילים את Google Ads API בפרויקט:
אחר כך נכנסים לדף הסקירה הכללית של Google Ads API. בדף מוצגת רמת הגישה הנוכחית שלכם ל-API. אם רמת הגישה הנוכחית ל-API היא Test, מרחיבים את הקטע Upgrade access level. פועלים לפי ההוראות כדי להגיש בקשה לרמת הגישה Explorer.
אחרי שתמלאו את הבקשה, Google תבצע בדיקה אוטומטית של הבקשה וברוב המקרים תשדרג אותה ל-Explorer. אם לא קיבלתם גישה ל-Explorer, אל דאגה. המדריך הזה יספק את ההוראות המתאימות להגדרת חשבון הלקוח ב-Google Ads.
יצירה של חשבון שירות
כדי לבצע קריאות ל-API, צריך חשבון שירות ומפתח לחשבון השירות. אם אתם כבר משתמשים ב-Google API אחר ויצרתם חשבון שירות ומפתח של OAuth 2.0, אתם יכולים לדלג על השלב הזה ולהשתמש שוב בפרטי הכניסה הקיימים.
איך יוצרים חשבון שירות ומפתח
- במסוף Google Cloud, פותחים את התפריט > IAM & Admin > Service Accounts.
- בוחרים את חשבון השירות.
- לוחצים על Keys > Add key > Create new key.
- בוחרים באפשרות JSON ולוחצים על Create.
זוג המפתחות הציבורי/פרטי החדש נוצר ומוּרד למחשב שלכם כקובץ חדש. שומרים את קובץ ה-JSON בשם
credentials.jsonבספריית העבודה. הקובץ הזה הוא העותק היחיד של המפתח הזה. אל תבצעו commit שלcredentials.jsonלניהול גרסאות (לדוגמה, הוסיפו אותו לקובץ.gitignore). - לוחצים על סגירה.
הגדרת חשבון הלקוח ב-Google Ads
קודם כל, צריך לזהות את חשבון Google Ads שאתם שולחים אליו קריאות ל-API. סוג החשבון שאפשר לבצע אליו קריאות ל-API תלוי ברמת הגישה ל-API של הפרויקט בענן ב-Google Cloud. כדי לברר מהי רמת הגישה שלכם ל-API, אתם יכולים להיכנס לדף הסקירה הכללית של Google Ads API.
רמות הגישה "מגלה", "בסיסית" ו"רגילה"
אתם יכולים לשלוח קריאות לחשבון הייצור שלכם ב-Google Ads. עם זאת, אם צריך, אתם יכולים ליצור חשבון בדיקה ב-Google Ads לפי ההוראות בכרטיסייה Test access.
בדיקת גישה
אי אפשר להשתמש בפרויקט בענן ב-Google Cloud כדי לבצע קריאות ל-API לחשבון ייצור ב-Google Ads. אפשר לבצע קריאות ל-API רק בחשבונות בדיקה של Google Ads.
איך יוצרים חשבון בדיקה ב-Google Ads
בהוראות הבאות מוסבר איך ליצור חשבון ניהול לבדיקה ב-Google Ads וחשבון מפרסם לבדיקה ב-Google Ads שמשויך אליו.
לוחצים על הלחצן הכחול כדי ליצור חשבון ניהול לבדיקה ב-Google Ads. אם תתבקשו, היכנסו לחשבון Google שלא מקושר לחשבון הניהול שלכם ב-Google Ads. אם אין לכם חשבון, אתם יכולים ללחוץ על הכפתור Create account בדף הזה כדי ליצור חשבון Google חדש.
- בחשבון הניהול לבדיקה ב-Google Ads, יוצרים חשבון לקוח לבדיקה ב-Google Ads: לוחצים על Accounts (חשבונות) > > Create new account (יצירת חשבון חדש) וממלאים את הטופס. כל חשבון Google Ads שיוצרים דרך חשבון הניהול לבדיקה ב-Google Ads הוא באופן אוטומטי חשבון בדיקה ב-Google Ads.
- אופציונלי: יוצרים כמה קמפיינים בחשבון הלקוח לבדיקה ב-Google Ads דרך הדף של Google Ads.
כדי לבצע קריאה ל-API ללקוח Google Ads, צריך לתת לחשבון השירות גישה והרשאות מתאימות לחשבון הלקוח ב-Google Ads. כדי לעשות את זה, אתם צריכים הרשאת אדמין בחשבון הלקוח.
איך מעניקים לחשבון השירות גישה לחשבון Google Ads
- קודם כל, נכנסים לחשבון Google Ads כאדמינים.
- עוברים לקטע ניהול > אבטחה וגישה.
- לוחצים על הכפתור בכרטיסייה משתמשים.
- מקלידים את כתובת האימייל של חשבון השירות בתיבת הקלט Email.
בוחרים את רמת הגישה המתאימה לחשבון ולוחצים על הכפתור הוספת חשבון. חשוב לדעת שרמת הגישה "אימייל" לא נתמכת בחשבונות שירות.
- לחשבון השירות ניתנת גישה.
- [אופציונלי] אי אפשר לתת הרשאת אדמין לחשבון שירות במהלך ההגדרה הראשונית. אם הקריאות ל-API דורשות גישת אדמין, אפשר לשדרג את הגישה באופן הבא.
- בעמודה Access level, לוחצים על החץ לתפריט נפתח לצד רמת הגישה של חשבון השירות.
- בוחרים באפשרות אדמין מהרשימה הנפתחת.
הורדת כלים וספריות לקוח
אתם יכולים להוריד ספריית לקוח או צד לקוח ב-HTTP, בהתאם לאופן שבו אתם רוצים לבצע קריאות ל-API.
שימוש בספריית לקוח
מורידים ומתקינים ספריית לקוח לבחירתכם.
שימוש בצד הלקוח ב-HTTP (REST)
curl
מורידים ומתקינים את curl, כלי שורת הפקודה להעברת נתונים באמצעות כתובת URL.
ממשק שורת הפקודה (CLI) של Google Cloud
מתקינים את ה-CLI של gcloud לפי המדריך להתקנת Google Cloud CLI.
ההוראות בשאר המדריך הזה אומתו לעבודה עם הגרסה הבאה של הכלי gcloud, ויכול להיות שהן לא יעבדו עם גרסאות קודמות בגלל הבדלים בהתנהגות של האפליקציה או באפשרויות של שורת הפקודה.
:~$ gcloud version
Google Cloud SDK 492.0.0
alpha 2024.09.06
beta 2024.09.06
bq 2.1.8
bundled-python3-unix 3.11.9
core 2024.09.06
enterprise-certificate-proxy 0.3.2
gcloud-crc32c 1.0.0
gsutil 5.30שליחת קריאה ל-API
כדי לקבל הוראות לביצוע קריאה ל-API, בוחרים את הלקוח הרצוי:
Java
רכיבי ה-Artifact של ספריית הלקוח מתפרסמים במאגר Maven Central.
כדי לנהל את גרסאות התלויות ולמנוע התנגשויות, אפשר לעיין במדריך בנושא פירוט החומרים (BOM) של Google Ads API.
אם אתם לא משתמשים ב-BOM, אתם יכולים להוסיף את ספריית הלקוח ישירות לפרויקט באמצעות אחד מכלי ה-build הבאים:
Maven: מוסיפים את התלות הבאה לקובץ pom.xml:
<dependency>
<groupId>com.google.api-ads</groupId>
<artifactId>google-ads</artifactId>
<version>48.1.0</version>
</dependency>
Gradle: מוסיפים את יחסי התלות הבאים לקובץ build.gradle:
implementation 'com.google.api-ads:google-ads:48.1.0'
יוצרים קובץ ads.properties בספריית הבית (~/ads.properties ב-Linux וב-macOS, או %USERPROFILE%\ads.properties ב-Windows) עם התוכן הבא:
api.googleads.serviceAccountSecretsPath=JSON_KEY_FILE_PATH
api.googleads.loginCustomerId=INSERT_LOGIN_CUSTOMER_ID_HERE
לפני שמריצים בקשות API, צריך ליצור מכונה של GoogleAdsClient. כברירת מחדל, fromPropertiesFile() טוען את פרטי הכניסה מהקובץ ads.properties שנמצא בספריית הבית:
GoogleAdsClient googleAdsClient;
try {
googleAdsClient = GoogleAdsClient.newBuilder().fromPropertiesFile().build();
} catch (IOException e) {
System.err.printf("Failed to create GoogleAdsClient: %s%n", e);
throw new RuntimeException("Initialization failed", e);
}
בשלב הבא, מריצים דוח קמפיין באמצעות GoogleAdsService.SearchStream כדי להעביר בסטרימינג קבוצות גדולות של תוצאות ביעילות ולאחזר את הקמפיינים בחשבון:
private void runExample(GoogleAdsClient googleAdsClient, long customerId) {
try (GoogleAdsServiceClient googleAdsServiceClient =
googleAdsClient.getLatestVersion().createGoogleAdsServiceClient()) {
String query = "SELECT campaign.id, campaign.name FROM campaign ORDER BY campaign.id";
// Constructs the SearchGoogleAdsStreamRequest.
SearchGoogleAdsStreamRequest request =
SearchGoogleAdsStreamRequest.newBuilder()
.setCustomerId(Long.toString(customerId))
.setQuery(query)
.build();
// Creates and issues a search Google Ads stream request that will retrieve all campaigns.
ServerStream<SearchGoogleAdsStreamResponse> stream =
googleAdsServiceClient.searchStreamCallable().call(request);
// Iterates through and prints all of the results in the stream response.
for (SearchGoogleAdsStreamResponse response : stream) {
for (GoogleAdsRow googleAdsRow : response.getResultsList()) {
System.out.printf(
"Campaign with ID %d and name '%s' was found.%n",
googleAdsRow.getCampaign().getId(), googleAdsRow.getCampaign().getName());
}
}
}
}
C#
החבילות של ספריית הלקוח מתפרסמות במאגר NuGet.org.
קודם כל, מוסיפים הפניה לחבילת NuGet לחבילה Google.Ads.GoogleAds:
dotnet add package Google.Ads.GoogleAds --version 27.6.0כדי לבצע קריאות ל-API, יוצרים אובייקט GoogleAdsConfig מההגדרות האישיות (כמו appsettings.json, משתני סביבה או הגדרות מותאמות אישית) ומעבירים אותו כדי לאתחל מכונה של GoogleAdsClient:
GoogleAdsConfig config = new GoogleAdsConfig()
{
OAuth2Mode = OAuth2Flow.SERVICE_ACCOUNT,
OAuth2SecretsJsonPath = "JSON_KEY_FILE_PATH",
LoginCustomerId = "INSERT_LOGIN_CUSTOMER_ID_HERE"
};
GoogleAdsClient client = new GoogleAdsClient(config);
לאחר מכן, מריצים דוח קמפיינים באמצעות השיטה GoogleAdsService.SearchStream כדי לאחזר את הקמפיינים בחשבון. המדריך הזה לא כולל פרטים על דיווח.
public void Run(GoogleAdsClient client, long customerId)
{
// Get the GoogleAdsService.
GoogleAdsServiceClient googleAdsService = client.GetService(
Services.V26.GoogleAdsService);
// Create a query that will retrieve all campaigns.
string query = @"SELECT
campaign.id,
campaign.name,
campaign.network_settings.target_content_network
FROM campaign
ORDER BY campaign.id";
try
{
// Issue a search request.
googleAdsService.SearchStream(customerId.ToString(), query,
delegate (SearchGoogleAdsStreamResponse resp)
{
foreach (GoogleAdsRow googleAdsRow in resp.Results)
{
Console.WriteLine("Campaign with ID {0} and name '{1}' was found.",
googleAdsRow.Campaign.Id, googleAdsRow.Campaign.Name);
}
}
);
}
catch (GoogleAdsException e)
{
Console.WriteLine("Failure:");
Console.WriteLine($"Message: {e.Message}");
Console.WriteLine($"Failure: {e.Failure}");
Console.WriteLine($"Request ID: {e.RequestId}");
throw;
}
}
PHP
החבילות של ספריית הלקוח מתפרסמות במאגר Packagist.
מוודאים שמותקנת גרסה תואמת של PHP ו-Composer, ואז עוברים לתיקיית שורש של הפרויקט ומריצים את הפקודה הבאה כדי להתקין את הספרייה ואת יחסי התלות שלה בספרייה vendor/ של הפרויקט:
composer require googleads/google-ads-php:35.3.0יוצרים עותק של הקובץ google_ads_php.ini מהמאגר ב-GitHub, שומרים אותו בספריית הבית או בתיקיית השורש של הפרויקט ומשנים אותו כך שיכלול את פרטי הכניסה שלכם:
[GOOGLE_ADS]
loginCustomerId = "INSERT_LOGIN_CUSTOMER_ID_HERE"
[OAUTH2]
jsonKeyFilePath = "JSON_KEY_FILE_PATH"
scopes = "https://www.googleapis.com/auth/adwords"
יוצרים מכונה של GoogleAdsClient באמצעות קובץ התצורה של google_ads_php.ini:
use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder;
use Google\Ads\GoogleAds\Lib\V26\GoogleAdsClientBuilder;
$oauth2Credential = (new OAuth2TokenBuilder())
->fromFile('/path/to/google_ads_php.ini')
->build();
$googleAdsClient = (new GoogleAdsClientBuilder())
->fromFile('/path/to/google_ads_php.ini')
->withOAuth2Credential($oauth2Credential)
->build();
בשלב הבא, מריצים דוח קמפיינים באמצעות השיטה GoogleAdsService.SearchStream כדי לאחזר את הקמפיינים בחשבון:
public static function runExample(GoogleAdsClient $googleAdsClient, int $customerId)
{
$googleAdsServiceClient = $googleAdsClient->getGoogleAdsServiceClient();
// Creates a query that retrieves all campaigns.
$query = 'SELECT campaign.id, campaign.name FROM campaign ORDER BY campaign.id';
// Issues a search stream request.
/** @var GoogleAdsServerStreamDecorator $stream */
$stream = $googleAdsServiceClient->searchStream(
SearchGoogleAdsStreamRequest::build($customerId, $query)
);
// Iterates over all rows in all messages and prints the requested field values for
// the campaign in each row.
foreach ($stream->iterateAllElements() as $googleAdsRow) {
/** @var GoogleAdsRow $googleAdsRow */
printf(
"Campaign with ID %d and name '%s' was found.%s",
$googleAdsRow->getCampaign()->getId(),
$googleAdsRow->getCampaign()->getName(),
PHP_EOL
);
}
}
Python
ספריית הלקוח של Google Ads API ל-Python מופצת ב-PyPI. מוודאים שמותקנת גרסה נתמכת של Python, ואז מתקינים את הספרייה באמצעות pip:
python -m pip install google-ads==35.0.0כדי לאמת את הקריאות ל-API, מגדירים קובץ google-ads.yaml:
- מורידים עותק של קובץ הדוגמה
google-ads.yamlממאגר ה-GitHub. - שומרים את הקובץ בספריית הבית (
~/google-ads.yaml) או בנתיב מותאם אישית. פותחים את
google-ads.yamlומעדכנים אותו כך שיכלול את פרטי הכניסה שלכם:login_customer_id: INSERT_LOGIN_CUSTOMER_ID_HERE json_key_file_path: JSON_KEY_FILE_PATHכדאי להגדיר את הרישום ביומן לפני שמפעילים את הלקוח, כדי שהספרייה תתעד את כל האזהרות שקשורות להפעלה או להגדרה. בדוגמה הבאה מגדירים את ה-logger של הספרייה כך שיוציא פלט של יומני
INFOלפלט סטנדרטי (stdout):
import logging
import sys
logger = logging.getLogger("google.ads.googleads.client")
logger.setLevel(logging.INFO)
logger.addHandler(logging.StreamHandler(sys.stdout))
יוצרים מכונה של GoogleAdsClient על ידי קריאה ל-method GoogleAdsClient.load_from_storage והעברת הנתיב לקובץ google-ads.yaml:
from google.ads.googleads.client import GoogleAdsClient
client = GoogleAdsClient.load_from_storage("path/to/google-ads.yaml")
אם לא מציינים את הארגומנט של הנתיב, כברירת מחדל load_from_storage() מחפש את קובץ התצורה בספריית הבית (~/google-ads.yaml).
בשלב הבא, מריצים דוח קמפיינים באמצעות השיטה GoogleAdsService.SearchStream כדי לאחזר את הקמפיינים בחשבון:
def main(client: GoogleAdsClient, customer_id: str) -> None:
ga_service: GoogleAdsServiceClient = client.get_service("GoogleAdsService")
query: str = """
SELECT
campaign.id,
campaign.name
FROM campaign
ORDER BY campaign.id"""
# Issues a search request using streaming.
stream: Iterator[SearchGoogleAdsStreamResponse] = ga_service.search_stream(
customer_id=customer_id, query=query
)
for batch in stream:
rows: List[GoogleAdsRow] = batch.results
for row in rows:
print(
f"Campaign with ID {row.campaign.id} and name "
f'"{row.campaign.name}" was found.'
)
Ruby
ה-gems של Ruby לספריית הלקוח מתפרסמים ב-RubyGems. ודאו שמותקנת גרסה נתמכת של Ruby, והשתמשו ב-Bundler כדי להתקין את הספרייה:
מוסיפים את ה-gem לקובץ
Gemfileשל האפליקציה:gem 'google-ads-googleads', '~> 46.1.0'מריצים את הפקודה הבאה כדי להתקין את ה-gem:
bundle install
כדי להגדיר את פרטי הכניסה:
- מעתיקים את הקובץ לדוגמה
google_ads_config.rbמהמאגר ב-GitHub. - שומרים את הקובץ בתיקיית השורש של הפרויקט או בתיקיית הבית (
~). פותחים את הקובץ
google_ads_config.rbומחליפים את הערכים הזמניים לשמירת מקום בפרטי הכניסה ל-Google Ads API:Google::Ads::GoogleAds::Config.new do |c| c.login_customer_id = 'INSERT_LOGIN_CUSTOMER_ID_HERE' c.keyfile = 'JSON_KEY_FILE_PATH' endיוצרים מכונה של
GoogleAdsClientעל ידי העברת הנתיב לקובץ התצורה (google_ads_config.rb):
client = Google::Ads::GoogleAds::GoogleAdsClient.new(
'path/to/google_ads_config.rb'
)
בשלב הבא, מריצים דוח קמפיינים באמצעות השיטה GoogleAdsService.SearchStream כדי לאחזר את הקמפיינים בחשבון:
def get_campaigns(customer_id)
# GoogleAdsClient will read a config file from
# ENV['HOME']/google_ads_config.rb when called without parameters
client = Google::Ads::GoogleAds::GoogleAdsClient.new
responses = client.service.google_ads.search_stream(
customer_id: customer_id,
query: 'SELECT campaign.id, campaign.name FROM campaign ORDER BY campaign.id',
)
responses.each do |response|
response.results.each do |row|
puts "Campaign with ID #{row.campaign.id} and name '#{row.campaign.name}' was found."
end
end
end
Perl
ספריית הלקוח של Perl מופצת ב-CPAN ודורשת את Perl בגרסה 5.28 ואילך ואת מנהל החבילות cpan או cpanm.
משכפלים את המאגר
google-ads-perlבספרייה הרצויה:git clone https://github.com/googleads/google-ads-perl.gitעוברים לספרייה
google-ads-perlומריצים את הפקודות הבאות כדי להתקין את יחסי התלות הנדרשים ולבנות את הספרייה:cd google-ads-perl cpan install Module::Build perl Build.PL perl Build installdeps perl Build perl Build install
כדי להגדיר את פרטי הכניסה:
מעתיקים את קובץ התצורה לדוגמה
googleads.propertiesממאגר GitHub לספריית הבית (~/googleads.properties):cp googleads.properties ~/googleads.propertiesעורכים את
~/googleads.propertiesכדי לכלול את פרטי הכניסה:jsonKeyFilePath=JSON_KEY_FILE_PATH loginCustomerId=INSERT_LOGIN_CUSTOMER_ID_HEREיוצרים מכונה של
Clientעל ידי העברת הנתיב לקובץgoogleads.propertiesשהגדרתם (למשל~/googleads.properties):
my $api_client = Google::Ads::GoogleAds::Client->new({
properties_file => "/path/to/googleads.properties"
});
בשלב הבא, מריצים דוח קמפיינים באמצעות השיטה GoogleAdsService.SearchStream כדי לאחזר את הקמפיינים בחשבון:
sub get_campaigns {
my ($api_client, $customer_id) = @_;
# Create a search Google Ads stream request that will retrieve all campaigns.
my $search_stream_request =
Google::Ads::GoogleAds::V26::Services::GoogleAdsService::SearchGoogleAdsStreamRequest
->new({
customerId => $customer_id,
query =>
"SELECT campaign.id, campaign.name FROM campaign ORDER BY campaign.id"
});
# Get the GoogleAdsService.
my $google_ads_service = $api_client->GoogleAdsService();
my $search_stream_handler =
Google::Ads::GoogleAds::Utils::SearchStreamHandler->new({
service => $google_ads_service,
request => $search_stream_request
});
# Issue a search request and process the stream response to print the requested
# field values for the campaign in each row.
$search_stream_handler->process_contents(
sub {
my $google_ads_row = shift;
printf "Campaign with ID %d and name '%s' was found.\n",
$google_ads_row->{campaign}{id}, $google_ads_row->{campaign}{name};
});
return 1;
}
כשהסקריפט מופעל, הוא מעביר בסטרימינג את השורות התואמות ומדפיס את המזהה והשם של כל קמפיין בחשבון.
curl
קודם כל, מגדירים את חשבון השירות כפרטי הכניסה הפעילים ב-CLI של gcloud.
gcloud auth login --cred-file=JSON_KEY_FILE_PATHבשלב הבא, מאחזרים טוקן גישה מסוג OAuth 2.0 ל-Google Ads API.
gcloud auth \
print-access-token \
--scopes='https://www.googleapis.com/auth/adwords'יוצרים קובץ בשם query.json שמכיל את הבקשה שלכם בשפת השאילתות של Google Ads (GAQL):
{
"query": "SELECT campaign.id, campaign.name, campaign.network_settings.target_content_network FROM campaign ORDER BY campaign.id"
}
מריצים דוח קמפיינים באמצעות השיטה GoogleAdsService.SearchStream כדי לאחזר קמפיינים בחשבון:
curl -i -X POST \
https://googleads.googleapis.com/v26/customers/CUSTOMER_ID/googleAds:searchStream \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ACCESS_TOKEN" \
-H "login-customer-id: LOGIN_CUSTOMER_ID" \
--data-binary "@query.json"אם נתקלתם בשגיאות כשביצעתם את הקריאה הראשונה, עיינו במאמר טיפול בשגיאות ב-API כדי לקבל הנחיות לפתרון בעיות.