এই ডকুমেন্টটিতে গুগল বিড ম্যানেজার এপিআই (Google Bid Manager API) ব্যবহার করে অ্যাপ লেখা কীভাবে শুরু করতে হয়, তা ব্যাখ্যা করা হয়েছে। এই এপিআই আপনাকে কোয়েরি (Query) পরিচালনা করতে এবং রিপোর্টের মেটাডেটা (Report metadata) পুনরুদ্ধার করতে দেয়।
বিড ম্যানেজার এপিআই ভি২ হলো সর্বশেষ উপলব্ধ এবং প্রস্তাবিত সংস্করণ।
১. শুরু করার আগে
আপনি যদি গুগল ডিসপ্লে ও ভিডিও ৩৬০-এর ধারণাগুলোর সাথে পরিচিত না হন, তবে ডিসপ্লে ও ভিডিও ৩৬০ হেল্প সেন্টারটি পড়ুন এবং ইউআই (UI) নিয়ে পরীক্ষা-নিরীক্ষা করুন।
২. প্রমাণীকরণের জন্য প্রস্তুত হন।
বিড ম্যানেজার এপিআই ব্যবহার শুরু করতে, আপনাকে প্রথমে সেটআপ টুলটি ব্যবহার করতে হবে, যা আপনাকে গুগল এপিআই কনসোলে একটি প্রজেক্ট তৈরি করতে এবং এপিআইটি সক্রিয় করতে নির্দেশনা দেবে।
যদি আপনি ইতিমধ্যে তা না করে থাকেন, তাহলে Create credentials > OAuth client ID-তে ক্লিক করে আপনার OAuth 2.0 ক্রেডেনশিয়াল তৈরি করুন। ক্রেডেনশিয়াল তৈরি করার পরে, আপনি Credentials পৃষ্ঠায় আপনার ক্লায়েন্ট আইডি দেখতে পাবেন। ক্লায়েন্ট সিক্রেট, রিডাইরেক্ট ইউআরআই, জাভাস্ক্রিপ্ট অরিজিনস অ্যাড্রেস এবং ইমেল অ্যাড্রেসের মতো বিস্তারিত তথ্যের জন্য ক্লায়েন্ট আইডিতে ক্লিক করুন।আরও তথ্যের জন্য, অনুরোধ অনুমোদন দেখুন।
৩. বিড ম্যানেজার এপিআই কল করুন
নিচের ট্যাবগুলোতে বিভিন্ন ভাষায় কোডিং শুরু করার জন্য দ্রুত নির্দেশিকা দেওয়া আছে। অনুরূপ নমুনা কোড Bid Manager API Examples রিপোতেও পাওয়া যাবে।
জাভা
প্রয়োজনীয় লাইব্রেরিগুলো ইম্পোর্ট করুন।
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");
একটি অনুমোদিত এপিআই ক্লায়েন্ট তৈরি করুন।
// 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."); }
জাভার সাথে বিড ম্যানেজার এপিআই ব্যবহারের বিষয়ে আরও বিস্তারিত তথ্যের জন্য, বিড ম্যানেজার এপিআই উদাহরণগুলোর README ফাইলটি দেখুন।
পাইথন
প্রয়োজনীয় লাইব্রেরিগুলো ইম্পোর্ট করুন।
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()
একটি অনুমোদিত এপিআই ক্লায়েন্ট তৈরি করুন।
# 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.')
পাইথনের সাথে বিড ম্যানেজার এপিআই ব্যবহারের বিষয়ে আরও বিস্তারিত তথ্যের জন্য, বিড ম্যানেজার এপিআই উদাহরণগুলোর README ফাইলটি দেখুন।
পিএইচপি
এই নমুনাটি ধরে নেয় যে আপনি একটি বিল্ট-ইন ওয়েব সার্ভার দিয়ে PHP চালাচ্ছেন এবং প্রাসঙ্গিক ওয়েব পেজে রিডাইরেক্ট করার জন্য আপনার ক্রেডেনশিয়াল কনফিগার করেছেন। উদাহরণস্বরূপ, index.php ফাইলের এই কোডটি নিম্নলিখিত কমান্ড এবং প্রমাণীকরণের পরে http://localhost:8000 এ রিডাইরেক্ট করার জন্য কনফিগার করা ক্রেডেনশিয়াল ব্যবহার করে চালানো যেতে পারে:
php -S localhost:8000 -t ./গুগল এপিআই পিএইচপি ক্লায়েন্ট ডাউনলোড ও ইনস্টল করুন।
পছন্দের পদ্ধতি হলো কম্পোজারের মাধ্যমে:
composer require google/apiclient:^2.12.1একবার ইনস্টল হয়ে গেলে, অটোলোডারটি অন্তর্ভুক্ত করতে ভুলবেন না।
require_once '/path/to/your-project/vendor/autoload.php';একটি Google_Client অবজেক্ট তৈরি করুন।
$client = new Google_Client();ক্লায়েন্ট সেট আপ করুন, প্রয়োজনে অথেনটিকেশন ইউআরএল-এ রিডাইরেক্ট করুন এবং একটি অ্যাক্সেস টোকেন সংগ্রহ করুন।
আপনি যখন প্রথমবার এই ধাপটি সম্পন্ন করবেন, তখন আপনার ব্রাউজারে একটি অনুমোদন অনুরোধ গ্রহণ করতে বলা হবে। গ্রহণ করার আগে, নিশ্চিত করুন যে আপনি এমন একটি 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>'; }
PHP-এর সাথে বিড ম্যানেজার এপিআই ব্যবহারের বিষয়ে আরও বিস্তারিত তথ্যের জন্য, বিড ম্যানেজার এপিআই উদাহরণগুলোর README ফাইলটি দেখুন।
৪. পরবর্তী পদক্ষেপ
এখন যেহেতু আপনার ক্লায়েন্ট লাইব্রেরিটি চালু আছে, রেফারেন্স ডকুমেন্টেশনটি দেখুন এবং আপনার ইমপ্লিমেন্টেশন তৈরি করা শুরু করুন।
নির্ধারিত প্রতিবেদন ব্যবহার এবং প্রতিবেদন তৈরির সর্বোত্তম পদ্ধতি অনুসরণের বিষয়ে অতিরিক্ত নির্দেশিকাও পাওয়া যায়।