Google বিজ্ঞাপন API-এর জন্য OAuth 2.0 অভ্যন্তরীণ

এই বিভাগটি সেইসব অভিজ্ঞ ব্যবহারকারীদের জন্য, যারা ইতিমধ্যেই OAuth 2.0 স্পেসিফিকেশনের সাথে পরিচিত এবং Google API-এর সাথে OAuth 2.0 ব্যবহার করতে জানেন।

পরিধি

একটিমাত্র অ্যাক্সেস টোকেন একাধিক এপিআই-তে বিভিন্ন মাত্রার অ্যাক্সেস প্রদান করতে পারে। scope নামক একটি পরিবর্তনশীল প্যারামিটার সেই সমস্ত রিসোর্স এবং অপারেশন নিয়ন্ত্রণ করে, যা একটি অ্যাক্সেস টোকেন অনুমোদন করে। অ্যাক্সেস টোকেনের অনুরোধ করার সময়, আপনার অ্যাপ scope প্যারামিটারে এক বা একাধিক ভ্যালু পাঠায়।

গুগল অ্যাডস এপিআই-এর পরিধি হলো:

https://www.googleapis.com/auth/adwords

অফলাইন অ্যাক্সেস

গুগল অ্যাডস এপিআই ক্লায়েন্ট অ্যাপের জন্য অফলাইন অ্যাক্সেসের অনুরোধ করা একটি সাধারণ বিষয়। উদাহরণস্বরূপ, আপনার ব্যবহারকারী যখন শারীরিকভাবে অনলাইনে আপনার ওয়েবসাইট ব্রাউজ করছেন না, তখনও আপনার অ্যাপটি ব্যাচ জব চালাতে চাইতে পারে।

কোনো ওয়েব অ্যাপ টাইপের জন্য অফলাইন অ্যাক্সেসের অনুরোধ করতে, access_type প্যারামিটারটি offline এ সেট করা নিশ্চিত করুন। আপনি Google-এর OAuth2 গাইডে অতিরিক্ত তথ্য পেতে পারেন।

ডেস্কটপ অ্যাপের ক্ষেত্রে, অফলাইন অ্যাক্সেস ডিফল্টরূপে সক্রিয় থাকে—এর জন্য আপনাকে আলাদাভাবে অনুরোধ করতে হয় না।

অনুরোধ হেডার

gRPC হেডার

gRPC API ব্যবহার করার সময়, প্রতিটি অনুরোধে অ্যাক্সেস টোকেন অন্তর্ভুক্ত করুন। আপনি একটি চ্যানেলের সমস্ত অনুরোধে ব্যবহারের জন্য সেই Channel সাথে একটি Credential বাইন্ড করতে পারেন। এছাড়াও আপনি প্রতিটি কলের জন্য একটি কাস্টমাইজড ক্রেডেনশিয়াল পাঠাতে পারেন। gRPC অথরাইজেশন গাইডে অথরাইজেশন পরিচালনার বিষয়ে আরও বিস্তারিত তথ্য রয়েছে।

REST হেডার

REST API ব্যবহার করার সময়, HTTP হেডার Authorization মাধ্যমে অ্যাক্সেস টোকেনটি পাঠান। একটি উদাহরণ HTTP অনুরোধ নিচে দেখানো হলো:

# Returns the resource names of customers directly accessible by the user
# authenticating the call.
#
# Variables:
#   API_VERSION,
#   DEVELOPER_TOKEN,
#   OAUTH2_ACCESS_TOKEN:
#     See https://developers.google.com/google-ads/api/rest/auth#request_headers
#     for details.
#
curl -f --request GET \
"https://googleads.googleapis.com/v${API_VERSION}/customers:listAccessibleCustomers" \
--header "Content-Type: application/json" \
--header "developer-token: ${DEVELOPER_TOKEN}" \
--header "Authorization: Bearer ${OAUTH2_ACCESS_TOKEN}" \