אתם יכולים להשתמש ב-Google Ad Manager SOAP API כדי ליצור אפליקציות שמנהלות מלאי שטחי פרסום, יוצרות הזמנות, שולפות דוחות ועוד.
כדי לעזור לכם להתחיל, אנחנו מציעים ספריות לקוח ל-Java, ל-.NET, ל-Python, ל-PHP ול-Ruby.
כדי לשלוח את בקשת ה-API הראשונה:
איך מקבלים גישה לרשת Ad Manager
אם עדיין אין לכם חשבון, אתם צריכים להירשם לחשבון Ad Manager. אתם יכולים גם ליצור רשת לבדיקה אם אתם רוצים לבדוק את ה-API בסביבה נפרדת. שימו לב: אתם לא צריכים חשבון AdSense למטרות בדיקה.
רושמים את קוד הרשת. אפשר למצוא אותו בכתובת ה-URL כשנכנסים לרשת. לדוגמה, בכתובת ה-URL https://admanager.google.com/1234#home, קוד הרשת הוא 1234.
יצירת פרטי כניסה לאימות
אתם צריכים לאמת את כל בקשות ה-SOAP API של Ad Manager באמצעות OAuth 2.0. השלבים הבאים מתייחסים לתרחיש לדוגמה של גישה לנתונים שלכם ב-Ad Manager. לפרטים נוספים ולאפשרויות אחרות, קראו את המאמר אימות.
פותחים את הדף Credentials ב-Google API Console.
בתפריט הפרויקט, לוחצים על Create project, נותנים שם לפרויקט ואם רוצים, עורכים את מזהה הפרויקט שמופיע. לוחצים על יצירה.
בדף Credentials, לוחצים על Create credentials ואז על Service account key.
בוחרים באפשרות New service account ובוחרים את
JSONכסוג המפתח.לוחצים על Create כדי להוריד קובץ שמכיל מפתח פרטי.
הגדרת רשת Ad Manager
נכנסים לחשבון Google Ad Manager.
בסרגל הצד, לוחצים על Admin > Global settings (אדמין > הגדרות גלובליות).
בקטע General settings > Api access (הגדרות כלליות > גישה ל-API), לוחצים על פס ההזזה כדי להעביר אותו למצב Enabled (מופעל).
לוחצים על הכפתור שמירה בתחתית הדף.
הגדרת הלקוח
מורידים את אחת מספריות הלקוח של Ad Manager. הספריות מציעות פונקציות ותכונות של wrapper שמקלות על פיתוח אפליקציות ומאיצות את התהליך.
בכרטיסיות הבאות מופיעים מדריכי התחלה מהירה לתכנות בכל אחת מהשפות שיש להן ספריית לקוח.
Java
הנה דוגמה בסיסית שמראה איך להשתמש בספריית הלקוח של Java. למידע מפורט יותר על נתוני שימוש, עיינו בקובץ README בהפצה של ספריית הלקוח.
- הגדרת פרטי הכניסה
מריצים את הפקודה הבאה במעטפת:
פותחים את הקובץcurl https://raw.githubusercontent.com/googleads/googleads-java-lib/main/examples/admanager_axis/src/main/resources/ads.properties -o ~/ads.properties~/ads.propertiesוממלאים את השדות הבאים:[...] api.admanager.applicationName=INSERT_APPLICATION_NAME_HERE api.admanager.jsonKeyFilePath=INSERT_PATH_TO_JSON_KEY_FILE_HERE api.admanager.networkCode=INSERT_NETWORK_CODE_HERE [...]
-
ציון יחסי תלות
עורכים את הקובץ
pom.xmlומוסיפים את הפרטים הבאים לתגdependencies. מספר הגרסה העדכנית מופיע ב-Github.<dependency> <groupId>com.google.api-ads</groupId> <artifactId>ads-lib</artifactId> <version>RELEASE</version> </dependency> <dependency> <groupId>com.google.api-ads</groupId> <artifactId>dfp-axis</artifactId> <version>RELEASE</version> </dependency>
-
כותבים קוד ושולחים בקשה
import com.google.api.ads.common.lib.auth.OfflineCredentials; import com.google.api.ads.common.lib.auth.OfflineCredentials.Api; import com.google.api.ads.admanager.axis.factory.AdManagerServices; import com.google.api.ads.admanager.axis.v202608.Network; import com.google.api.ads.admanager.axis.v202608.NetworkServiceInterface; import com.google.api.ads.admanager.lib.client.AdManagerSession; import com.google.api.client.auth.oauth2.Credential; public class App { public static void main(String[] args) throws Exception { Credential oAuth2Credential = new OfflineCredentials.Builder() .forApi(Api.AD_MANAGER) .fromFile() .build() .generateCredential(); // Construct an AdManagerSession. AdManagerSession session = new AdManagerSession.Builder() .fromFile() .withOAuth2Credential(oAuth2Credential) .build(); // Construct a Google Ad Manager service factory, which can only be used once per // thread, but should be reused as much as possible. AdManagerServices adManagerServices = new AdManagerServices(); // Retrieve the appropriate service NetworkServiceInterface networkService = adManagerServices.get(session, NetworkServiceInterface.class); // Make a request Network network = networkService.getCurrentNetwork(); System.out.printf("Current network has network code '%s' and display" + " name '%s'.%n", network.getNetworkCode(), network.getDisplayName()); } }
Python
הנה דוגמה בסיסית שמראה איך להשתמש בספריית הלקוח של Python. ספריית הלקוח של Python תומכת ב-Python מגרסה 3.6 ואילך. למידע מפורט יותר על השימוש, עיינו בקובץ README בהפצה של ספריית הלקוח.
- מתקינים את הספרייה ומגדירים את פרטי הכניסה.
מריצים את הפקודות הבאות במעטפת:
python3 -m pip install googleadscurl https://raw.githubusercontent.com/googleads/googleads-python-lib/main/googleads.yaml \ -o ~/googleads.yaml - מגדירים את הקובץ
~/googleads.yaml.ממלאים את השדות הבאים:
ad_manager: application_name: INSERT_APPLICATION_NAME_HERE network_code: INSERT_NETWORK_CODE_HERE path_to_private_key_file: INSERT_PATH_TO_FILE_HERE
-
מריצים קוד ושולחים בקשה.
# Import the library. from googleads import ad_manager # Initialize a client object, by default uses the credentials in ~/googleads.yaml. client = ad_manager.AdManagerClient.LoadFromStorage() # Initialize a service. network_service = client.GetService('NetworkService', version='v202608') # Make a request. current_network = network_service.getCurrentNetwork() print("Current network has network code '%s' and display name '%s'." % (current_network['networkCode'], current_network['displayName']))
PHP
הנה דוגמה בסיסית שמראה איך להשתמש בספריית הלקוח של PHP.
-
מתקינים את הספרייה ומגדירים את פרטי הכניסה.
מריצים את הפקודות הבאות במעטפת כדי להתקין את ספריית הלקוח ולהוריד את הקובץ adsapi_php.ini לספריית הבית:
composer require googleads/googleads-php-libcurl https://raw.githubusercontent.com/googleads/googleads-php-lib/main/examples/AdManager/adsapi_php.ini -o ~/adsapi_php.ini -
מגדירים את הקובץ
~/adsapi_php.ini.ממלאים את השדות הבאים:
[AD_MANAGER] networkCode = "INSERT_NETWORK_CODE_HERE" applicationName = "INSERT_APPLICATION_NAME_HERE" [OAUTH2] jsonKeyFilePath = "INSERT_ABSOLUTE_PATH_TO_OAUTH2_JSON_KEY_FILE_HERE" scopes = "https://www.googleapis.com/auth/dfp"
-
מריצים קוד ושולחים בקשה
<?php require 'vendor/autoload.php'; use Google\AdsApi\AdManager\AdManagerSession; use Google\AdsApi\AdManager\AdManagerSessionBuilder; use Google\AdsApi\AdManager\v202608\ApiException; use Google\AdsApi\AdManager\v202608\ServiceFactory; use Google\AdsApi\Common\OAuth2TokenBuilder; // Generate a refreshable OAuth2 credential for authentication. $oAuth2Credential = (new OAuth2TokenBuilder()) ->fromFile() ->build(); // Construct an API session configured from a properties file and the OAuth2 // credentials above. $session = (new AdManagerSessionBuilder()) ->fromFile() ->withOAuth2Credential($oAuth2Credential) ->build(); // Get a service. $serviceFactory = new ServiceFactory(); $networkService = $serviceFactory->createNetworkService($session); // Make a request $network = $networkService->getCurrentNetwork(); printf( "Network with code %d and display name '%s' was found.\n", $network->getNetworkCode(), $network->getDisplayName() );
.NET
הנה דוגמה בסיסית שמראה איך להשתמש בספריית הלקוח של .NET
- יצירת פרויקט חדש
פותחים את Visual Studio ויוצרים פרויקט חדש (Console Application).
- הוספת הפניות לספריות הנדרשות בפרויקט
מוסיפים תלות של nuget ל-Google.Dfp.
- הגדרת App.config
מעתיקים את src\App.config לספריית הפרויקט ומוסיפים אותו לפרויקט. אם לאפליקציה יש קובץ App.config משלה, אתם יכולים להעתיק את הצמתים הבאים לקובץ App.config:
- configuration/AdManagerApi
- configuration/configSections/section[name="AdManagerApi"]
- configuration/system.net
- הגדרת פרטי כניסה
פותחים את App.config ועורכים את המקשים הבאים:
<add key="ApplicationName" value="INSERT_YOUR_APPLICATION_NAME_HERE" /> <add key="NetworkCode" value="INSERT_YOUR_NETWORK_CODE_HERE" /> <add key="OAuth2Mode" value="SERVICE_ACCOUNT" /> <add key="OAuth2SecretsJsonPath" value="INSERT_OAUTH2_SECRETS_JSON_FILE_PATH_HERE" />
- להתקשר לספרייה
אפשר לקרוא לספרייה כמו בקטע הקוד הבא ב-C#
AdManagerUser user = new AdManagerUser(); using (InventoryService inventoryService = user.GetService<InventoryService>()) { // Create a statement to select ad units. int pageSize = StatementBuilder.SUGGESTED_PAGE_LIMIT; StatementBuilder statementBuilder = new StatementBuilder().OrderBy("id ASC").Limit(pageSize); // Retrieve a small amount of ad units at a time, paging through until all // ad units have been retrieved. int totalResultSetSize = 0; do { AdUnitPage page = inventoryService.getAdUnitsByStatement(statementBuilder.ToStatement()); // Print out some information for each ad unit. if (page.results != null) { totalResultSetSize = page.totalResultSetSize; int i = page.startIndex; foreach (AdUnit adUnit in page.results) { Console.WriteLine( "{0}) Ad unit with ID \"{1}\" and name \"{2}\" was found.", i++, adUnit.id, adUnit.name); } } statementBuilder.IncreaseOffsetBy(pageSize); } while (statementBuilder.GetOffset() < totalResultSetSize); Console.WriteLine("Number of results found: {0}", totalResultSetSize); }
אם אתם לא רוצים להגדיר את פרטי הכניסה בקובץ App.config, אתם יכולים לעיין במאמר הזה בוויקי כדי ללמוד על דרכים חלופיות לשימוש במחלקה AdManagerUser. למידע נוסף על השימוש בספריית הלקוח של .NET, קראו את קובץ ה-README. אם אתם רוצים לפתח ב- .NET בלי ספריית הלקוח, עיינו במאמר NoClientLibrary בוויקי.
Ruby
הנה דוגמה בסיסית שמראה איך להשתמש בספריית הלקוח של Ruby. כדי להשתמש בספריית הלקוח של Ruby, צריך להתקין את Ruby בגרסה 2.1 ואילך.
-
מתקינים את Ruby gem ומורידים את קובץ התצורה.
מריצים את הפקודות הבאות במעטפת:
gem install google-dfp-apicurl https://raw.githubusercontent.com/googleads/google-api-ads-ruby/main/ad_manager_api/ad_manager_api.yml -o ~/ad_manager_api.yml -
הגדרת פרטי הכניסה
ממלאים את שדות החובה בקובץ
~/ad_manager_api.yml. אם עדיין אין לכם קובץ מפתח של OAuth2, תצטרכו לפעול לפי השלבים ליצירת פרטי כניסה של OAuth2.:authentication: :oauth2_keyfile: INSERT_PATH_TO_JSON_KEY_FILE_HERE :application_name: INSERT_APPLICATION_NAME_HERE :network_code: INSERT_NETWORK_CODE_HERE
-
כותבים קוד ושולחים בקשה
# Import the library. require 'ad_manager_api' # Initialize an Ad Manager client instance (uses credentials in ~/ad_manager_api.yml by default). ad_manager = AdManagerApi::Api.new # Get a service instance. network_service = ad_manager.service(:NetworkService, :v202608) # Make a request. network = network_service.get_current_network() puts "The current network is %s (%d)." % [network[:display_name], network[:network_code]]
הוראות מפורטות יותר לתחילת העבודה מופיעות בקובץ README שמופץ עם ספריית הלקוח של Ruby. בנוסף, כדאי לעיין בספריית הדוגמאות המלאה ל-Ruby.
השלבים הבאים
אחרי שספריית הלקוח פועלת, אפשר לשנות את הדוגמאות שסופקו כדי להרחיב אותן בהתאם לצרכים שלכם.
מידע נוסף על ה-API זמין במאמרי העזרה.
אפשר לקבל עזרה בדף התמיכה.