এই নির্দেশিকাটি ব্যাখ্যা করে যে কীভাবে Ads Data Hub-এর সাথে যোগাযোগ করার জন্য Ads Data Hub REST API ব্যবহার করে অ্যাপ্লিকেশন লেখা শুরু করতে হয়। Ads Data Hub REST API আপনাকে আপনার Google অ্যাকাউন্টের সাথে যুক্ত Ads Data Hub গ্রাহকদের দেখতে, কোয়েরি তৈরি করতে এবং কোয়েরি চালাতে দেয়।
সেটআপ
Ads Data Hub API ব্যবহার করার আগে আপনাকে কয়েকটি ধাপ সম্পন্ন করতে হবে:
- নিশ্চিত করুন যে, যে ব্যবহারকারী এপিআই (API) সক্রিয় করছেন, তাকে গুগল ক্লাউড প্রজেক্টে
serviceusage.services.enableপারমিশন দেওয়া হয়েছে।serviceusage.services.enableপারমিশন থাকা ব্যবহারকারীকে অবশ্যই এপিআই অ্যাক্সেস করার জন্য allowlisted-এ অন্তর্ভুক্ত থাকতে হবে। - যে Google Cloud প্রজেক্টে ক্লায়েন্ট ক্রেডেনশিয়াল বা সার্ভিস অ্যাকাউন্ট তৈরি করা হয়েছিল, সেখানে Ads Data Hub API সক্রিয় করুন । কনসোল ব্যবহার করে কোনো প্রজেক্টের জন্য Ads Data Hub API সক্রিয় করতে:
- ক্লাউড কনসোল এপিআই লাইব্রেরিতে যান।
- প্রকল্পের তালিকা থেকে আপনি যে প্রকল্পটি ব্যবহার করতে চান তা নির্বাচন করুন।
- ‘অ্যাডস ডেটা হাব এপিআই’ অনুসন্ধান করুন।
- API পেজে, ENABLE-এ ক্লিক করুন।
- অনুমতি পরিচালনা করুন:
- ক্রেডেনশিয়াল তৈরি করতে ব্যবহৃত ইমেল ঠিকানা বা সার্ভিস অ্যাকাউন্টটি যথাযথ অনুমতিসহ অ্যাডস ডেটা হাব-এ যুক্ত করতে হবে। সার্ভিস অ্যাকাউন্টের ক্ষেত্রে, এটি হলো সার্ভিস অ্যাকাউন্টের ইমেল ঠিকানা। OAuth-এর ক্ষেত্রে, এটি হলো ব্যবহারকারীর ইমেল ঠিকানা। এটি নিশ্চিত করে যে সার্ভিস অ্যাকাউন্ট বা এন্ড-ইউজারের অ্যাকাউন্টের অ্যাডস ডেটা হাব-এ কোয়েরি চালানোর অনুমতি আছে।
- (সুপারিশকৃত) একটি গুগল এপিআই ক্লায়েন্ট লাইব্রেরি ইনস্টল করুন:
- গুগল এপিআই ক্লায়েন্ট লাইব্রেরিগুলো বেশ কয়েকটি জনপ্রিয় ভাষায় পাওয়া যায় এবং এগুলোর মাধ্যমে আপনি অনেক গুগল এপিআই নিয়ে কাজ করতে পারবেন। যদিও এটি বাধ্যতামূলক নয়, ক্লায়েন্ট লাইব্রেরিগুলো আপনার লেখার কোডের পরিমাণ কমিয়ে দেয় এবং অথেনটিকেশন সেট আপ করা সহজ করে তোলে।
| ক্লায়েন্ট লাইব্রেরি | বিজ্ঞাপন ডেটা হাব নমুনা |
|---|---|
| জাভার জন্য গুগল এপিআই ক্লায়েন্ট লাইব্রেরি | জাভা |
| পাইথনের জন্য গুগল এপিআই ক্লায়েন্ট লাইব্রেরি |
প্রমাণীকরণ এবং অনুমোদন করুন
অ্যাডস ডেটা হাব এপিআই আপনার অ্যাডস ডেটা হাব কাস্টমার অ্যাকাউন্টের ডেটা অ্যাক্সেস এবং পরিবর্তন করতে পারে, তাই আপনি একজন অনুমোদিত ব্যবহারকারী কিনা তা যাচাই করার প্রয়োজন হয়। এই কারণে, অ্যাডস ডেটা হাব এপিআই-এর সাথে কাজ শুরু করার আগে, আপনাকে একটি অনুমোদন প্রক্রিয়া সম্পন্ন করতে হবে। একটি অনুমোদন প্রক্রিয়া আপনাকে এপিআই-এর সাথে কাজ করার জন্য প্রয়োজনীয় অনুমতি প্রদান করে। আপনি OAuth 2.0 অথবা একটি সার্ভিস অ্যাকাউন্ট ব্যবহার করে প্রমাণীকরণ করতে পারেন।
OAuth 2.0 সেটআপ
এপিআইটি ইনস্টল করা অ্যাপ্লিকেশন এবং ওয়েব অ্যাপ্লিকেশন উভয় ফ্লো-ই সমর্থন করে, কিন্তু এই উদাহরণের জন্য আমরা ইনস্টল করা অ্যাপ্লিকেশন ফ্লো-টি ধাপে ধাপে দেখব।
- গুগল এপিআই কনসোলে যান এবং আপনার অ্যাডমিন প্রজেক্টে নেভিগেট করুন।
- আপনার প্রোজেক্টের জন্য অ্যাডস ডেটা হাব এপিআই (Ads Data Hub API) সক্রিয় করা আছে কিনা তা যাচাই করুন।
- যদি তা না হয়, তবে এটি চালু করতে ‘+ Enable APIs and services’-এ ক্লিক করুন।
- বাম দিকের নেভিগেশনে, ক্রেডেনশিয়ালস-এ ক্লিক করুন।
- Create credentials ড্রপ-ডাউন মেনুটি খুলুন এবং OAuth client ID নির্বাচন করুন। পরবর্তী পৃষ্ঠায়:
- অন্যান্য নির্বাচন করুন।
- ঐচ্ছিকভাবে ক্লায়েন্টকে একটি নাম দিন।
- তৈরি করুন-এ ক্লিক করুন।
- আপনার এইমাত্র তৈরি করা ক্রেডেনশিয়ালগুলোর পাশে থাকা ডাউনলোড আইকনটিতে ক্লিক করুন।
আপনার এপিআই কী পান
আপনার এপিআই কী (যা ডেভেলপার কী নামেও পরিচিত) নিচের পাইথন কোড স্যাম্পলটিতে অথেনটিকেশনের জন্য ব্যবহৃত হয়। আপনার এপিআই কী পেতে:
- এপিআই কনসোলের "ক্রেডেনশিয়ালস" পৃষ্ঠায় যান
- উপরের নেভিগেশনের ড্রপডাউনে আপনার অ্যাডমিন প্রজেক্টটি নির্বাচিত আছে কিনা, তা নিশ্চিত করুন।
- আপনার API কী-এর পাশে থাকা ডাউনলোড আইকনটিতে ক্লিক করুন।
একটি নমুনা অনুরোধ পাঠান
পাইথন
"""This sample shows how to retrieve all accounts associated with the user. For the program to execute successfully, ensure that you run it using Python 3. """ import json from google_auth_oauthlib import flow from googleapiclient.discovery import build appflow = flow.InstalledAppFlow.from_client_secrets_file( # Replace client_secrets.json with your own client secret file. 'client_secrets.json', scopes=['https://www.googleapis.com/auth/adsdatahub']) appflow.run_local_server() credentials = appflow.credentials developer_key = input('Developer key: ').strip() # For versions of the Google API Python client library prior to 2.0, the # `static_discovery` parameter below should be removed. service = build('AdsDataHub', 'v1', credentials=credentials, developerKey=developer_key, static_discovery=False) def pprint(x): print(json.dumps(x, sort_keys=True, indent=4)) adh_account_id = input('ADH account ID (e.g. "customers/123456789"): ').strip() pprint(service.customers().analysisQueries().list(parent =adh_account_id).execute())
জাভা
/* * Copyright (c) 2019 Google Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except * in compliance with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed under the License * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express * or implied. See the License for the specific language governing permissions and limitations under * the License. */ package com.google.api.services.samples.adsdatahub.cmdline; import com.google.api.services.adsdatahub.v1.AdsDataHub; import com.google.api.services.adsdatahub.v1.model.Customer; import com.google.api.services.adsdatahub.v1.model.ListCustomersResponse; import java.io.IOException; import java.util.List; /** * This sample illustrates how to retrieve all accounts associated to the user. * * <p>See the <a href="customers.list reference * documentation">https://developers.google.com/ads-data-hub/reference/rest/v1/customers/list</a> * for more details. */ public class ListCustomers extends BaseSample { @Override public String getName() { return "List customers"; } @Override public String getDescription() { return "Lists customers associated with the authorized user"; } @Override public void execute(AdsDataHub client) throws IOException { String pageToken = null; boolean noData = true; System.out.println("========================================"); System.out.printf("Listing of customers associated with the authorized user:\n"); System.out.println("========================================"); do { ListCustomersResponse response = client.customers().list().setPageToken(pageToken).execute(); pageToken = response.getNextPageToken(); List<Customer> customers = response.getCustomers(); if (customers != null && customers.size() > 0) { noData = false; for (Customer customer : customers) { System.out.printf("* Customer id: %d\n", customer.getCustomerId()); System.out.printf("\tCustomer name: %s\n", customer.getDisplayName()); } } } while (pageToken != null); if (noData) { System.out.println("No customers were found associated with the authorized user."); } } }
পরবর্তী পদক্ষেপ
- Ads Data Hub REST API ব্যবহার করে আপনি যে ধরনের কোয়েরি তৈরি ও চালাতে পারেন, তার উদাহরণের জন্য Ads Data Hub-এর নমুনা কোয়েরিগুলো দেখুন।
- এপিআই-এর সাথে পরিচিত হতে এবং আপনার ব্যবহারের জন্য এটিকে কাস্টমাইজ করতে নমুনাগুলো বিস্তারিতভাবে পড়ুন। তারপর চেষ্টা করুন:
- পোল কোয়েরি অপারেশনের অবস্থা।
- সম্পন্ন হওয়া কোয়েরির ফলাফল পেতে একটি BigQuery ক্লায়েন্ট লাইব্রেরি ব্যবহার করুন।
- এপিআই সম্পর্কে আপনার কোনো প্রশ্ন বা মতামত থাকলে এডিএইচ সাপোর্টের সাথে যোগাযোগ করুন।