Python

Ad Manager API-এর সাথে ইন্টার‍্যাক্ট করার জন্য Google একটি Python ক্লায়েন্ট লাইব্রেরি প্রদান করে। আমরা PyPI-এর সাথে ক্লায়েন্ট লাইব্রেরি ব্যবহার করার সাজেশন দিই।

শুরু করতে, আপনার পছন্দের IDE-তে একটি নতুন প্রোজেক্ট তৈরি করুন অথবা আগে থেকে থাকা প্রোজেক্টে ডিপেন্ডেন্সি যোগ করুন। Google, PyPI-তে ক্লায়েন্ট লাইব্রেরি আর্টিফ্যাক্ট google-ads-admanager হিসেবে প্রকাশ করে।

requirements.txt

google-ads-admanager==0.10.7

কমান্ড লাইন

pip install google-ads-admanager

ক্রেডেনশিয়াল কনফিগার করুন

Python ক্লায়েন্ট লাইব্রেরি যাচাইকরণের জন্য OAuth2 এবং অ্যাপ্লিকেশন ডিফল্ট ক্রেডেনশিয়াল (ADC) ব্যবহার করে।

ADC নিম্নলিখিত লোকেশনে এই ক্রমে ক্রেডেনশিয়াল খোঁজে:

  1. GOOGLE_APPLICATION_CREDENTIALS এনভায়রনমেন্ট ভেরিয়েবল।
  2. Google Cloud CLI (gcloud CLI)-এর মাধ্যমে ব্যবহারকারীর ক্রেডেনশিয়াল সেট-আপ করা হয়েছে।
  3. Google Cloud-এ রান করার সময়, Google Cloud রিসোর্সের সাথে অ্যাটাচ করা পরিষেবা অ্যাকাউন্ট।

আপনার ADC ক্রেডেনশিয়াল তৈরি ও কনফিগার করার জন্য, যাচাইকরণ দেখুন।

আপনার প্রথম অনুরোধ করুন

প্রতিটি পরিষেবায় একটি ServiceClient অবজেক্ট থাকে এবং প্রতিটি REST পদ্ধতির জন্য সিঙ্ক্রোনাস ও অ্যাসিঙ্ক্রোনাস পদ্ধতি থাকে। নিম্নলিখিত উদাহরণটি সিঙ্ক্রোনাসভাবে Network পড়ে।



from google.ads import admanager_v1


def sample_get_network():
    # Create a client
    client = admanager_v1.NetworkServiceClient()

    # Initialize request argument(s)
    request = admanager_v1.GetNetworkRequest(
        name="networks/[NETWORK_CODE]",
    )

    # Make the request
    response = client.get_network(request=request)

    # Handle the response
    print(response)

অন্যান্য পদ্ধতি ও রিসোর্সের উদাহরণ দেখতে, GitHub রিপোজিটরি googleapis/google-cloud-python দেখুন।

HTTP অনুরোধ ও উত্তর লগ করুন

Python ক্লায়েন্ট লাইব্রেরি HTTP অনুরোধ ও উত্তর লগ করতে স্ট্যান্ডার্ড Python logging লাইব্রেরি ব্যবহার করে। ডিফল্ট হিসেবে, লগিং বন্ধ করা থাকে।

লগিং চালু করতে, এনভায়রনমেন্ট ভেরিয়েবল GOOGLE_SDK_PYTHON_LOGGING_SCOPE সেট করুন। এই এনভায়রনমেন্ট ভেরিয়েবেল logging.DEBUG বা তার থেকে বেশি লেভেলে লগিং ইভেন্ট ম্যানেজ করার বিষয়টি কনফিগার করে।

# Log only Ad Manager API events
export GOOGLE_SDK_PYTHON_LOGGING_SCOPE=google.ads.admanager_v1

# Log all Google library events
export GOOGLE_SDK_PYTHON_LOGGING_SCOPE=google

এছাড়াও, আপনি Python logging মডিউল ব্যবহার করতে পারেন:

import logging

from google.ads import admanager_v1

logger = logging.getLogger("google.ads.admanager_v1")
logger.addHandler(logging.StreamHandler())
logger.setLevel(logging.DEBUG)

সমস্যা ম্যানেজ করা

সব API সংক্রান্ত সমস্যা মূল ক্লাস GoogleAPIError-এর সাথে যুক্ত।

সমস্যার কারণ ফিল্ডটি অনন্যভাবে সমস্যার ধরন শনাক্ত করে। এই ফিল্ড ব্যবহার করে নির্ধারণ করুন যে কীভাবে সমস্যার সমাধান করবেন।

try:
  network = client.get_network(request=request)
  print(network)
except GoogleAPIError as e:
  # Handle error
  print(e.reason)

Ad Manager API সংক্রান্ত সমস্যার মধ্যে একটি অনন্য requestId অন্তর্ভুক্ত থাকে যা আপনি সমস্যার সমাধান করার জন্য সহায়তা টিমের সাথে যোগাযোগ করে জানাতে পারেন। নিম্নলিখিত উদাহরণটি GoogleAPIError থেকে requestId এক্সট্র্যাক্ট করে;

except GoogleAPIError as e:
  requestInfoType = "type.googleapis.com/google.rpc.RequestInfo"
  requestInfo = [detail for detail in e.details if detail['@type'] == requestInfoType][0]
  print(requestInfo['requestId'])

প্রক্সি সেটিংস কনফিগার করুন

Python ক্লায়েন্ট লাইব্রেরি এনভায়রনমেন্ট ভেরিয়েবল সেটিংস http_proxy এবং https_proxy মেনে চলে।