এই ডকুমেন্ট থেকে আপনি জানতে পারবেন যে Google Bid Manager API ব্যবহার করে কীভাবে অ্যাপ লেখা শুরু করবেন। API আপনাকে কোয়েরি ম্যানেজ করতে এবং রিপোর্ট মেটাডেটা ফিরিয়ে আনতে দেয়।
Bid Manager API v2 হল লেটেস্ট উপলভ্য ও সাজেস্ট করা ভার্সন।
১. শুরু করার আগে
Google Display ও Video 360-এর ধারণা সম্পর্কে আপনার কোনও অভিজ্ঞতা না থাকলে, Display ও Video 360 সহায়তা কেন্দ্র পড়ুন এবং UI-এর সাথে এক্সপেরিমেন্ট করুন।
২. যাচাইকরণের জন্য প্রস্তুত হন
Bid Manager API ব্যবহার করা শুরু করতে, আপনাকে প্রথমে সেট-আপ টুল ব্যবহার করতে হবে, যা আপনাকে Google API Console-এ প্রোজেক্ট তৈরি করা এবং API চালু করার ব্যাপারে নির্দেশনা দেয়।
আপনি আগে থেকে এটি না করে থাকলে, ক্রেডেনশিয়াল তৈরি করুন > OAuth ক্লায়েন্ট আইডি বিকল্পে ক্লিক করে আপনার OAuth 2.0 ক্রেডেনশিয়াল তৈরি করুন। আপনি ক্রেডেনশিয়াল তৈরি করার পরে, ক্রেডেনশিয়াল পৃষ্ঠায় আপনার ক্লায়েন্ট আইডি দেখতে পাবেন। ক্লায়েন্ট সিক্রেট, রিডাইরেক্ট URI, জাভাস্ক্রিপ্ট অরিজিন অ্যাড্রেস ও ইমেল আইডির মতো বিবরণ দেখতে, ক্লায়েন্ট আইডিতে ক্লিক করুন।আরও তথ্যের জন্য, অনুরোধ অনুমোদন করুন বিকল্প দেখুন।
৩. Bid Manager API কল করা
নিচের ট্যাবগুলি বিভিন্ন ভাষায় কোডিং করার জন্য কুইকস্টার্ট প্রদান করে। একই ধরনের স্যাম্পেল কোড Bid Manager API উদাহরণ রেপোতেও পাওয়া যেতে পারে।
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;
ক্লায়েন্ট সিক্রেট ফাইল লোড করুন এবং অথরাইজেশন ক্রেডেনশিয়াল জেনারেট করুন।
প্রথমবার এই ধাপটি করার সময়, আপনার ব্রাউজারে একটি অনুমোদনের প্রম্পট গ্রহণ করতে বলা হবে। অনুরোধ গ্রহণ করার আগে, আপনি Display & Video 360-তে অ্যাক্সেস আছে এমন Google অ্যাকাউন্ট দিয়ে সাইন-ইন করেছেন কিনা তা নিশ্চিত করুন। বর্তমানে যে অ্যাকাউন্ট দিয়ে সাইন-ইন করা আছে, আপনার অ্যাপকে সেই অ্যাকাউন্টের হয়ে ডেটা অ্যাক্সেস করার অনুমতি দেওয়া হবে।
// 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."); }
Java-এর সাথে Bid Manager API ব্যবহার করার ব্যাপারে আরও বিস্তারিত তথ্যের জন্য, Bid Manager API-এর উদাহরণ ফোল্ডারে README ফাইলটি দেখুন।
Python
প্রয়োজনীয় লাইব্রেরি ইমপোর্ট করুন।
from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient import discovery
ক্লায়েন্ট সিক্রেট ফাইল লোড করুন এবং অথরাইজেশন ক্রেডেনশিয়াল জেনারেট করুন।
প্রথমবার এই ধাপটি করার সময়, আপনার ব্রাউজারে একটি অনুমোদনের প্রম্পট গ্রহণ করতে বলা হবে। অনুরোধ গ্রহণ করার আগে, আপনি Display & Video 360-তে অ্যাক্সেস আছে এমন Google অ্যাকাউন্ট দিয়ে সাইন-ইন করেছেন কিনা তা নিশ্চিত করুন। বর্তমানে যে অ্যাকাউন্ট দিয়ে সাইন-ইন করা আছে, আপনার অ্যাপকে সেই অ্যাকাউন্টের হয়ে ডেটা অ্যাক্সেস করার অনুমতি দেওয়া হবে।
# 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.')
Python-এর সাথে Bid Manager API ব্যবহার করার বিষয়ে আরও বিস্তারিত তথ্যের জন্য, Bid Manager API-এর উদাহরণ থেকে README ফাইলটি দেখুন।
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-এ রিডাইরেক্ট করুন এবং অ্যাক্সেস টোকেন ফিরিয়ে আনুন।
প্রথমবার এই ধাপটি করার সময়, আপনার ব্রাউজারে একটি অনুমোদনের প্রম্পট গ্রহণ করতে বলা হবে। অনুরোধ গ্রহণ করার আগে, আপনি Display & Video 360-তে অ্যাক্সেস আছে এমন Google অ্যাকাউন্ট দিয়ে সাইন-ইন করেছেন কিনা তা নিশ্চিত করুন। বর্তমানে যে অ্যাকাউন্ট দিয়ে সাইন-ইন করা আছে, আপনার অ্যাপকে সেই অ্যাকাউন্টের হয়ে ডেটা অ্যাক্সেস করার অনুমতি দেওয়া হবে।
// 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>'; }
PHP-এর সাথে Bid Manager API ব্যবহার করার ব্যাপারে আরও বিস্তারিত তথ্যের জন্য, Bid Manager API-এর উদাহরণ-এ README ফাইল দেখুন।
৪. পরবর্তী ধাপ
এখন আপনার কাছে ক্লায়েন্ট লাইব্রেরি আছে এবং সেটি কাজ করছে, রেফারেন্স ডকুমেন্টেশন এক্সপ্লোর করুন এবং আপনার ইমপ্লিমেন্টেশন তৈরি করা শুরু করুন।
এছাড়াও, শিডিউল করা রিপোর্ট ব্যবহার করা এবং রিপোর্টিংয়ের পেশাদার পদ্ধতি অনুসরণ করা সম্পর্কে অতিরিক্ত নির্দেশিকা উপলভ্য আছে।