মাল্টি-ইউজার যাচাইকরণ ওয়ার্কফ্লো

মাল্টি-ইউজার যাচাইকরণ ওয়ার্কফ্লোতে, আপনার ব্যবহারকারীদের যাচাই করার জন্য আপনি নিজের OAuth ফ্লো তৈরি করেন। Google Identity ডকুমেন্টেশন-এর অংশ হিসেবে একাধিক ধরনের অ্যাপ নিয়ে আলোচনা করা হয়েছে, এর সাথে প্রতিটি ধরনের অ্যাপের জন্য প্রয়োজনীয় Google API Console প্রোজেক্ট কনফিগারেশনও রয়েছে। এইসব ধরনের অ্যাপ Google Ads API-তে কাজ করে। অতিরিক্ত প্রযুক্তিগত বিবরণ মনে রাখতে হবে:

  • নিম্নলিখিত OAuth 2.0 স্কোপের জন্য অনুরোধ করতে আপনার অ্যাপ্লিকেশন কনফিগার করুন:

    https://www.googleapis.com/auth/adwords
    
  • ব্যবহারকারী অফলাইনে থাকাকালীন আপনার অ্যাপকে তার হয়ে API কল করতে হতে পারে। একটি সাধারণ পরিস্থিতি হল, রিপোর্ট তৈরি করতে এবং অ্যাকাউন্ট অ্যানালিটিক্স পারফর্ম করতে অফলাইনে অ্যাকাউন্ট মেট্রিক্স ডাউনলোড করা। এই কারণে, আমরা OAuth অফলাইন অ্যাক্সেস-এর অনুরোধ করার সাজেশন দিই।

  • আপনার অ্যাপ যাচাই করিয়ে নিতে OAuth অ্যাপ যাচাইকরণ প্রসেস সম্পূর্ণ করুন।

ওয়ার্কফ্লো ওভারভিউ

মাল্টি-ইউজার যাচাইকরণ ওয়ার্কফ্লো প্রয়োগ করার ক্ষেত্রে তিনটি প্রধান ধাপ রয়েছে:

  1. ব্যবহারকারীদের OAuth সম্মতি স্ক্রিনে নিয়ে যান: প্রত্যেক ব্যবহারকারীকে Google-এর OAuth 2.0 অনুমোদনের এন্ডপয়েন্টে রিডাইরেক্ট করুন, যেখানে https://www.googleapis.com/auth/adwords স্কোপ ও অফলাইন অ্যাক্সেসের অনুরোধ করা হয়। ব্যবহারকারীদের অনুমোদনের ফ্লো সম্পূর্ণ করতে এবং রিফ্রেশ টোকেন তৈরি করতে পাসকী দিয়ে যাচাই করতে হবে।
  2. টোকেনের জন্য অথরাইজেশন কোড এক্সচেঞ্জ করা: ব্যবহারকারী অনুমতি দেওয়ার পরে, ফেরত পাওয়া অথরাইজেশন কোড ক্যাপচার করুন এবং অ্যাক্সেস টোকেন ও রিফ্রেশ টোকেনের জন্য এটি এক্সচেঞ্জ করুন।
  3. রানটাইমে টোকেন স্টোর ও ক্লায়েন্ট ইনিশিয়ালাইজ করা: আপনার ডেটাস্টোরে প্রতিটি ব্যবহারকারীর রিফ্রেশ টোকেন নিরাপদে স্টোর করুন এবং রানটাইমে আপনার GoogleAdsClient ইনস্ট্যান্স ইনিশিয়ালাইজ করার সময় ব্যবহারকারীর ক্রেডেনশিয়াল পাস করুন।

ক্লায়েন্ট লাইব্রেরি কনফিগারেশন

ব্যবহারকারীকে অনুমোদন দেওয়ার পরে এবং OAuth 2.0 ক্রেডেনশিয়াল পাওয়ার পরে, আপনি আপনার প্রোগ্রামিং ল্যাঙ্গুয়েজের সাথে সম্পর্কিত ট্যাবে দেওয়া নির্দেশাবলী অনুসরণ করে ক্লায়েন্ট লাইব্রেরি কনফিগার করতে পারবেন।

Java

আপনি রানটাইমে আপনার GoogleAdsClient ইনস্ট্যান্স শুরু করতে পারেন, যার জন্য আপনি সেই ব্যবহারকারীর থেকে প্রাপ্ত ক্রেডেনশিয়াল ব্যবহার করতে পারেন যার অ্যাকাউন্টে আপনি API কল করছেন।

UserCredentials credentials =
    UserCredentials.newBuilder()
        .setClientId("INSERT_OAUTH2_CLIENT_ID_HERE")
        .setClientSecret("INSERT_OAUTH2_CLIENT_SECRET_HERE")
        .setRefreshToken("INSERT_OAUTH2_REFRESH_TOKEN_HERE")
        .build();

// Creates a GoogleAdsClient with the provided credentials.
GoogleAdsClient client =
    GoogleAdsClient.newBuilder()
        // Sets the OAuth credentials which provide Google Ads account
        // access.
        .setCredentials(credentials)
        // Optional: sets the login customer ID.
        .setLoginCustomerId(Long.valueOf("INSERT_LOGIN_CUSTOMER_ID_HERE"))
        .build();

অতিরিক্ত বিকল্পের জন্য কনফিগারেশন গাইড দেখুন।

.NET

আপনি রানটাইমে আপনার GoogleAdsClient ইনস্ট্যান্স শুরু করতে পারেন, যার জন্য আপনি সেই ব্যবহারকারীর কাছ থেকে প্রাপ্ত ক্রেডেনশিয়াল ব্যবহার করতে পারেন যার অ্যাকাউন্টে আপনি API কল করছেন।

GoogleAdsConfig config = new GoogleAdsConfig()
{
    OAuth2Mode = OAuth2Flow.APPLICATION,
    OAuth2ClientId = "INSERT_OAUTH2_CLIENT_ID_HERE",
    OAuth2ClientSecret = "INSERT_OAUTH2_CLIENT_SECRET_HERE",
    OAuth2RefreshToken = "INSERT_OAUTH2_REFRESH_TOKEN_HERE",
    LoginCustomerId = "INSERT_LOGIN_CUSTOMER_ID_HERE",
};

GoogleAdsClient client = new GoogleAdsClient(config);

অতিরিক্ত বিকল্পের জন্য কনফিগারেশন গাইড দেখুন।

Python

আপনি রানটাইমে আপনার GoogleAdsClient ইনস্ট্যান্স শুরু করতে পারেন, যার জন্য আপনি সেই ব্যবহারকারীর কাছ থেকে প্রাপ্ত ক্রেডেনশিয়াল ব্যবহার করতে পারেন যার অ্যাকাউন্টে আপনি API কল করছেন।

from google.ads.googleads.client import GoogleAdsClient

credentials = {
    "login_customer_id": "INSERT_LOGIN_CUSTOMER_ID_HERE",
    "refresh_token": "INSERT_OAUTH2_REFRESH_TOKEN_HERE",
    "client_id": "INSERT_OAUTH2_CLIENT_ID_HERE",
    "client_secret": "INSERT_OAUTH2_CLIENT_SECRET_HERE",
    "use_proto_plus": True,
}

client = GoogleAdsClient.load_from_dict(credentials)

অতিরিক্ত বিকল্পের জন্য কনফিগারেশন গাইড দেখুন।

PHP

আপনি রানটাইমে আপনার GoogleAdsClient ইনস্ট্যান্স শুরু করতে পারেন, যার জন্য আপনি সেই ব্যবহারকারীর কাছ থেকে প্রাপ্ত ক্রেডেনশিয়াল ব্যবহার করতে পারেন যার অ্যাকাউন্টে আপনি API কল করছেন।

$oAuth2Credential = (new OAuth2TokenBuilder())
    ->withClientId('INSERT_OAUTH2_CLIENT_ID_HERE')
    ->withClientSecret('INSERT_OAUTH2_CLIENT_SECRET_HERE')
    ->withRefreshToken('INSERT_OAUTH2_REFRESH_TOKEN_HERE')
    ->build();

$googleAdsClient = (new GoogleAdsClientBuilder())
    ->withOAuth2Credential($oAuth2Credential)
    ->withLoginCustomerId('INSERT_LOGIN_CUSTOMER_ID_HERE')
    ->build();

অতিরিক্ত বিকল্পের জন্য কনফিগারেশন গাইড দেখুন।

Ruby

আপনি রানটাইমে আপনার GoogleAdsClient ইনস্ট্যান্স শুরু করতে পারেন, যার জন্য আপনি সেই ব্যবহারকারীর কাছ থেকে প্রাপ্ত ক্রেডেনশিয়াল ব্যবহার করতে পারেন যার অ্যাকাউন্টে আপনি API কল করছেন।

client = Google::Ads::GoogleAds::GoogleAdsClient.new do |config|
  config.client_id = 'INSERT_OAUTH2_CLIENT_ID_HERE'
  config.client_secret = 'INSERT_OAUTH2_CLIENT_SECRET_HERE'
  config.refresh_token = 'INSERT_OAUTH2_REFRESH_TOKEN_HERE'
  config.login_customer_id = 'INSERT_LOGIN_CUSTOMER_ID_HERE'
end

অতিরিক্ত বিকল্পের জন্য কনফিগারেশন গাইড দেখুন।

Perl

আপনি রানটাইমে আপনার GoogleAdsClient ইনস্ট্যান্স শুরু করতে পারেন, যার জন্য আপনি সেই ব্যবহারকারীর কাছ থেকে প্রাপ্ত ক্রেডেনশিয়াল ব্যবহার করতে পারেন যার অ্যাকাউন্টে আপনি API কল করছেন।

my $api_client = Google::Ads::GoogleAds::Client->new({
  login_customer_id => "INSERT_LOGIN_CUSTOMER_ID_HERE"
});

my $oauth2_handler = $api_client->get_oauth2_applications_handler();
$oauth2_handler->set_client_id("INSERT_OAUTH2_CLIENT_ID_HERE");
$oauth2_handler->set_client_secret("INSERT_OAUTH2_CLIENT_SECRET_HERE");
$oauth2_handler->set_refresh_token("INSERT_OAUTH2_REFRESH_TOKEN_HERE");

অতিরিক্ত বিকল্পের জন্য কনফিগারেশন গাইড দেখুন।

কার্ল

OAuth 2.0 অ্যাক্সেস টোকেন ফেচ করতে HTTP ক্লায়েন্ট ব্যবহার করে শুরু করুন। এই নির্দেশিকায় curl কমান্ড ব্যবহার করা হয়।

curl \
  --data "grant_type=refresh_token" \
  --data "client_id=CLIENT_ID" \
  --data "client_secret=CLIENT_SECRET" \
  --data "refresh_token=REFRESH_TOKEN" \
  https://oauth2.googleapis.com/token

আপনার API কলে অ্যাক্সেস টোকেন ব্যবহার করতে পারবেন। আপনার অ্যাকাউন্টে ক্যাম্পেন সংক্রান্ত তথ্য উদ্ধার করতে GoogleAdsService.SearchStream পদ্ধতি ব্যবহার করে কীভাবে ক্যাম্পেন রিপোর্ট চালাতে হয় তা নিম্নলিখিত উদাহরণে দেখানো হয়েছে। এই নির্দেশিকায় রিপোর্ট করা সম্পর্কে বিস্তারিত তথ্য দেওয়া নেই।

curl -i -X POST \
  https://googleads.googleapis.com/v26/customers/CUSTOMER_ID/googleAds:searchStream \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ACCESS_TOKEN" \
  -H "login-customer-id: LOGIN_CUSTOMER_ID" \
  --data-binary "@query.json"

query.json-এর কন্টেন্ট নিচে দেওয়া হল:

{
  "query": "SELECT campaign.id, campaign.name, campaign.network_settings.target_content_network FROM campaign ORDER BY campaign.id"
}