במאמר הזה מוסבר איך מתחילים לכתוב אפליקציות שמשתמשות ב-Google Bid Manager API. ה-API מאפשר לכם לנהל שאילתות ולאחזר מטא-נתונים של דוחות.
גרסה 2 של Bid Manager API היא הגרסה העדכנית והמומלצת.
1. לפני שמתחילים
אם אתם לא מכירים את המושגים של Google Display & Video 360, מומלץ לקרוא את מרכז העזרה של Display & Video 360 ולנסות את ממשק המשתמש.
2. הכנה לאימות
כדי להתחיל להשתמש ב-Bid Manager API, צריך קודם להשתמש בכלי ההגדרה, שמדריך אתכם בתהליך של יצירת פרויקט ב-Google API Console והפעלת ה-API.
אם עדיין לא עשיתם זאת, צרו פרטי כניסה של OAuth 2.0 על ידי לחיצה על Create credentials > OAuth client ID (יצירת פרטי כניסה > מזהה לקוח OAuth). אחרי שיוצרים את פרטי הכניסה, אפשר לראות את מזהה הלקוח בדף פרטי כניסה. לוחצים על מזהה הלקוח כדי לראות פרטים כמו סוד הלקוח, כתובות URI להפניה אוטומטית, כתובת מקור של JavaScript וכתובת אימייל.מידע נוסף זמין במאמר בנושא אישור בקשות.
3. קריאה ל-Bid Manager API
בכרטיסיות שלמטה מופיעות מדריכי התחלה מהירה לכתיבת קוד בשפות שונות. דוגמאות קוד דומות אפשר למצוא גם במאגר Bid Manager API Examples.
Java
מייבאים את הספריות הנדרשות.
import static java.nio.charset.StandardCharsets.UTF_8; import com.google.api.client.auth.oauth2.Credential; import com.google.api.client.extensions.java6.auth.oauth2.AuthorizationCodeInstalledApp; import com.google.api.client.extensions.jetty.auth.oauth2.LocalServerReceiver; import com.google.api.client.googleapis.auth.oauth2.GoogleAuthorizationCodeFlow; import com.google.api.client.googleapis.auth.oauth2.GoogleClientSecrets; import com.google.api.client.googleapis.util.Utils; import com.google.api.services.doubleclickbidmanager.DoubleClickBidManager; import com.google.api.services.doubleclickbidmanager.model.ListQueriesResponse; import com.google.api.services.doubleclickbidmanager.model.Query; import java.io.Reader; import java.nio.file.Files; import java.nio.file.Paths;
טוענים את קובץ הסודות של הלקוח ויוצרים פרטי הרשאה.
בפעם הראשונה שמבצעים את השלב הזה, מופיעה בקשה לאישור בדפדפן. לפני שמאשרים, חשוב לוודא שאתם מחוברים לחשבון Google שיש לו גישה ל-Display & Video 360. לאפליקציה תהיה הרשאה לגשת לנתונים בשם החשבון שמחוברים אליו כרגע.
// Read client secrets file. GoogleClientSecrets clientSecrets; try (Reader reader = Files.newBufferedReader(Paths.get(path-to-client-secrets-file), UTF_8)) { clientSecrets = GoogleClientSecrets.load(Utils.getDefaultJsonFactory(), reader); } // Generate authorization credentials. // Set up the authorization code flow. GoogleAuthorizationCodeFlow flow = new GoogleAuthorizationCodeFlow.Builder( Utils.getDefaultTransport(), Utils.getDefaultJsonFactory(), clientSecrets, oauth-scopes) .build(); Credential credential = new AuthorizationCodeInstalledApp(flow, new LocalServerReceiver()).authorize("user");
יוצרים לקוח API מורשה.
// Create authorized API client. DoubleClickBidManager service = new DoubleClickBidManager.Builder(credential.getTransport(), credential.getJsonFactory(), credential) .setApplicationName("bidmanager-java-installed-app-sample") .build();
מבצעים פעולה.
// Perform an operation. // Call the API, getting a list of 10 queries. ListQueriesResponse queriesResponse = service.queries().list().setPageSize(10).execute(); // Print them out. System.out.println("Id\t\tName"); if (queriesResponse.getQueries().size() > 0) { for (int i = 0; i < queriesResponse.getQueries().size(); i++) { Query currentQuery = queriesResponse.getQueries().get(i); System.out.printf( "%s\t%s%n", currentQuery.getQueryId(), currentQuery.getMetadata().getTitle()); } } else { System.out.println("No queries exist."); }
למידע מפורט יותר על שימוש ב-Bid Manager API עם Java, אפשר לעיין בקובץ README בדוגמאות ל-Bid Manager API.
Python
מייבאים את הספריות הנדרשות.
from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient import discovery
טוענים את קובץ הסודות של הלקוח ויוצרים פרטי הרשאה.
בפעם הראשונה שמבצעים את השלב הזה, מופיעה בקשה לאישור בדפדפן. לפני שמאשרים, חשוב לוודא שאתם מחוברים לחשבון Google שיש לו גישה ל-Display & Video 360. לאפליקציה תהיה הרשאה לגשת לנתונים בשם החשבון שמחוברים אליו כרגע.
# Set up a flow object to create the credentials using the # client secrets file and OAuth scopes. credentials = InstalledAppFlow.from_client_secrets_file( path-to-client-secrets-file, oauth-scopes).run_local_server()
יוצרים לקוח API מורשה.
# Build the discovery document URL. discovery_url = f'https://doubleclickbidmanager.googleapis.com/$discovery/rest?version=v2' # Build the API service. service = discovery.build( 'doubleclickbidmanager', 'v2', discoveryServiceUrl=discovery_url, credentials=credentials)
מבצעים פעולה.
# Build and execute queries.listqueries request. response = service.queries().list(pageSize='10').execute() # Print queries out. if 'queries' in response: print('Id\t\tName') for query in response['queries']: print('%s\t%s' % (query['queryId'], query['metadata']['title'])) else: print('No queries exist.')
מידע מפורט יותר על השימוש ב-Bid Manager API עם Python זמין בקובץ README בדוגמאות ל-Bid Manager API.
PHP
בדוגמה הזו מניחים שאתם מריצים את ה-PHP עם שרת אינטרנט מובנה והגדרתם את פרטי הכניסה להפניה אוטומטית לדף האינטרנט הרלוונטי. לדוגמה, אפשר להריץ את הקוד הזה בקובץ index.php באמצעות הפקודה הבאה ופרטי הכניסה שהוגדרו להפניה אוטומטית אל http://localhost:8000 אחרי אימות:
php -S localhost:8000 -t ./מורידים ומתקינים את Google API PHP Client.
השיטה המועדפת היא באמצעות Composer:
composer require google/apiclient:^2.12.1אחרי ההתקנה, חשוב לכלול את טוען האוטומטי
require_once '/path/to/your-project/vendor/autoload.php';יוצרים אובייקט Google_Client.
$client = new Google_Client();הגדרת הלקוח, הפניה לכתובת ה-URL של האימות אם צריך, ואחזור של אסימון גישה.
בפעם הראשונה שמבצעים את השלב הזה, מופיעה בקשה לאישור בדפדפן. לפני שמאשרים, חשוב לוודא שאתם מחוברים לחשבון Google שיש לו גישה ל-Display & Video 360. לאפליקציה תהיה הרשאה לגשת לנתונים בשם החשבון שמחוברים אליו כרגע.
// Set up the client. $client->setApplicationName('DBM API PHP Samples'); $client->addScope(oauth-scope); $client->setAccessType('offline'); $client->setAuthConfigFile(path-to-client-secrets-file); // If the code is passed, authenticate. If not, redirect to authentication page. if (isset($_GET['code'])) { $client->authenticate($_GET['code']); } else { $authUrl = $client->createAuthUrl(); header('Location: ' . $authUrl); } // Exchange authorization code for an access token. $accessToken = $client->getAccessToken(); $client->setAccessToken($accessToken);
בונים לקוח לשירות Display & Video 360 API.
$service = new Google_Service_DoubleClickBidManager($client);מבצעים פעולה.
// Configure params for the Queries.listqueries request. $optParams = array('pageSize' => 10); // Execute the request. $result = $service->queries->listQueries($optParams); // Print the retrieved queries. if (!empty($result->getQueries())) { print('<pre><p>Id Name</p>'); foreach ($result->getQueries() as $query) { printf('<p>%s %s</p>', $query->queryId, $query->metadata->title); } print('</pre>'); } else { print '<p>No queries exist.</p>'; }
מידע מפורט יותר על השימוש ב-Bid Manager API עם PHP זמין בקובץ README בדוגמאות ל-Bid Manager API.
4. השלבים הבאים
אחרי שספריית הלקוח פועלת, אפשר לעיין במסמכי העזר ולהתחיל לבנות את ההטמעה.
יש גם מדריכים נוספים בנושא שימוש בדוחות מתוזמנים ושיטות מומלצות לשימוש בדוחות.