המדריך למתחילים הזה יעזור לכם לבצע את הקריאה הראשונה ל-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. פועלים לפי ההוראות כדי להגיש בקשה לרמת הגישה חוקר/ת.
אחרי שתמלאו את הבקשה, Google תבצע בדיקה אוטומטית של הבקשה וברוב המקרים תשדרג אותה ל-Explorer. אם לא קיבלתם גישה ל-Explorer, אל דאגה. המדריך הזה יספק את ההוראות המתאימות להגדרת חשבון הלקוח ב-Google Ads.
יצירה של חשבון שירות
כדי לבצע קריאות ל-API, צריך חשבון שירות ומפתח לחשבון השירות. אם אתם כבר משתמשים ב-Google API אחר ויצרתם חשבון שירות ומפתח של OAuth 2.0, אתם יכולים לדלג על השלב הזה ולהשתמש שוב בפרטי הכניסה הקיימים.
איך יוצרים חשבון שירות ומפתח
- במסוף Google Cloud, פותחים את התפריט > IAM & Admin > Service Accounts.
- בוחרים את חשבון השירות.
- לוחצים על Keys > Add key > Create new key.
- בוחרים באפשרות JSON ולוחצים על יצירה.
זוג המפתחות הציבורי/פרטי החדש נוצר ומוּרד למחשב שלכם כקובץ חדש. שומרים את קובץ ה-JSON בשם
credentials.jsonבספריית העבודה. הקובץ הזה הוא העותק היחיד של המפתח. לא לבצע קומיט שלcredentials.jsonלמערכת בקרת גרסאות (לדוגמה, לא להוסיף אותו לקובץ.gitignore). - לוחצים על סגירה.
הגדרת חשבון הלקוח ב-Google Ads
קודם צריך לזהות את חשבון Google Ads שמתבצעות לגביו קריאות ל-API. סוג החשבון שאפשר לבצע אליו קריאות ל-API תלוי ברמת הגישה ל-API של הפרויקט בענן ב-Google Cloud. כדי לבדוק את רמת הגישה שלכם ל-API, אתם יכולים להיכנס לדף הסקירה הכללית של Google Ads API.
רמות גישה: Explorer, בסיסית ורגילה
אתם יכולים להתקשר לחשבון הייצור שלכם ב-Google Ads. עם זאת, אם צריך, אתם יכולים ליצור חשבון בדיקה ב-Google Ads לפי ההוראות בכרטיסייה גישה לבדיקה.
בדיקת גישה
אי אפשר להשתמש בפרויקט בענן שלכם ב-Google Cloud כדי לבצע קריאות ל-API בחשבון פעיל ב-Google Ads. אפשר לבצע קריאות ל-API רק בחשבונות בדיקה של Google Ads.
איך יוצרים חשבון בדיקה ב-Google Ads
ההוראות הבאות יוצרות חשבון ניהול לבדיקה ב-Google Ads וחשבון מפרסם לבדיקה ב-Google Ads מתחתיו.
לוחצים על הלחצן הכחול כדי ליצור חשבון ניהול לבדיקה ב-Google Ads. אם תתבקשו, היכנסו לחשבון Google שלא מקושר לחשבון הניהול שלכם ב-Google Ads. אם אין לכם חשבון, אתם יכולים ללחוץ על הלחצן יצירת חשבון בדף הזה כדי ליצור חשבון Google חדש.
- בחשבון הניהול של הבדיקות ב-Google Ads, יוצרים חשבון לקוח ב-Google Ads: לוחצים על חשבונות > > יצירת חשבון חדש וממלאים את הטופס. כל חשבון 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
פריטי המידע שנוצרו בתהליך הפיתוח (Artifacts) של ספריית הלקוח מתפרסמים במאגר Maven Central.
כדי לנהל גרסאות של יחסי תלות ולמנוע התנגשויות, אפשר לעיין במדריך לרשימת חומרים (BOM) של Google Ads API.
אם אתם לא משתמשים ב-BOM, אתם יכולים להוסיף את ספריית הלקוח ישירות לפרויקט באמצעות אחד מכלי ה-build הבאים:
Maven: מוסיפים את יחסי התלות הבאים לקובץ pom.xml:
<dependency>
<groupId>com.google.api-ads</groupId>
<artifactId>google-ads</artifactId>
<version>48.0.0</version>
</dependency>
Gradle: מוסיפים את יחסי התלות הבאים לקובץ build.gradle:
implementation 'com.google.api-ads:google-ads:48.0.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.5.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.2.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==34.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כדאי להגדיר את הרישום ביומן לפני האתחול של הלקוח, כדי שהספרייה תתעד אזהרות לגבי אתחול או הגדרה. בדוגמה הבאה, מגדירים את כלי הרישום ביומן של הספרייה כך שיוציא יומנים של
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.0.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 כדי לקבל הנחיות לפתרון בעיות.