মাল্টি-ইউজার অথেন্টিকেশন ওয়ার্কফ্লোতে, আপনি আপনার ব্যবহারকারীদের অথেন্টিকেট করার জন্য নিজস্ব OAuth ফ্লো তৈরি করেন। Google Identity ডকুমেন্টেশনের অংশ হিসেবে একাধিক অ্যাপ টাইপ নিয়ে আলোচনা করা হয়েছে, এবং সেই অ্যাপ টাইপকে সাপোর্ট করার জন্য আপনার Google Cloud Console প্রোজেক্ট কনফিগারেশন প্রয়োজন। এই সমস্ত অ্যাপ টাইপ Google Ads API দ্বারা সমর্থিত। অতিরিক্ত যে প্রযুক্তিগত বিবরণগুলো মনে রাখতে হবে তা হলো:
Google Ads API অ্যাক্সেস করার জন্য, আপনাকে আপনার অ্যাপ্লিকেশনটিকে নিম্নলিখিত স্কোপের জন্য প্রমাণীকরণ করতে কনফিগার করতে হবে:
https://www.googleapis.com/auth/adwordsব্যবহারকারী অফলাইনে থাকাকালীন আপনার অ্যাপকে তার পক্ষ থেকে এপিআই (API) কল করতে হতে পারে। এর একটি সাধারণ উদাহরণ হলো রিপোর্ট তৈরি এবং অ্যাকাউন্ট অ্যানালিটিক্স করার জন্য অফলাইনে অ্যাকাউন্টের মেট্রিক্স ডাউনলোড করা। এই কারণে, আমরা OAuth অফলাইন অ্যাক্সেসের জন্য অনুরোধ করার পরামর্শ দিই।
আপনাকে OAuth অ্যাপ যাচাইকরণ প্রক্রিয়াটি সম্পন্ন করে আপনার অ্যাপটি প্রত্যয়িত করে নিতে হবে।
ক্লায়েন্ট লাইব্রেরি কনফিগারেশন
একবার আপনি ব্যবহারকারীকে অনুমোদন দিয়ে OAuth 2.0 ক্রেডেনশিয়াল পেয়ে গেলে, আপনার প্রোগ্রামিং ভাষার সাথে সম্পর্কিত ট্যাবে দেওয়া নির্দেশাবলী অনুসরণ করে ক্লায়েন্ট লাইব্রেরিটি কনফিগার করতে পারবেন।
জাভা
আপনি যে ব্যবহারকারীর অ্যাকাউন্টে এপিআই কল করছেন, তার কাছ থেকে প্রাপ্ত ক্রেডেনশিয়াল ব্যবহার করে রানটাইমে আপনার GoogleAdsClient ইনস্ট্যান্সটি ইনিশিয়ালাইজ করতে পারেন।
UserCredentials credentials =
UserCredentials.newBuilder()
.setClientId(OAUTH_CLIENT_ID)
.setClientSecret(OAUTH_CLIENT_SECRET)
.setRefreshToken(REFRESH_TOKEN)
.build();
// Creates a GoogleAdsClient with the provided credentials.
GoogleAdsClient client =
GoogleAdsClient.newBuilder()
// Sets the developer token which enables API access.
.setDeveloperToken(DEVELOPER_TOKEN)
// Sets the OAuth credentials which provide Google Ads account access.
.setCredentials(credentials)
// Optional: sets the login customer ID.
.setLoginCustomerId(Long.valueOf(LOGIN_CUSTOMER_ID))
.build();
``` See the [configuration guide][java-config-guide] for additional options.
.NET
আপনি যে ব্যবহারকারীর অ্যাকাউন্টে এপিআই কল করছেন, তার কাছ থেকে প্রাপ্ত ক্রেডেনশিয়াল ব্যবহার করে রানটাইমে আপনার GoogleAdsClient ইনস্ট্যান্সটি ইনিশিয়ালাইজ করতে পারেন।
GoogleAdsConfig googleAdsConfig = new GoogleAdsConfig()
{
DeveloperToken = DEVELOPER_TOKEN,
LoginCustomerId = LOGIN_CUSTOMER_ID,
OAuth2ClientId = OAUTH_CLIENT_ID,
OAuth2ClientSecret = OAUTH_CLIENT_SECRET,
OAuth2RefreshToken = REFRESH_TOKEN,
};
GoogleAdsClient googleAdsClient = new GoogleAdsClient(googleAdsConfig);
অতিরিক্ত বিকল্পগুলির জন্য কনফিগারেশন গাইড দেখুন।
পাইথন
আপনি যে ব্যবহারকারীর অ্যাকাউন্টে এপিআই কল করছেন, তার কাছ থেকে প্রাপ্ত ক্রেডেনশিয়াল ব্যবহার করে রানটাইমে আপনার GoogleAdsClient ইনস্ট্যান্সটি ইনিশিয়ালাইজ করতে পারেন।
from google.ads.googleads.client import GoogleAdsClient
credentials = {
"developer_token": "INSERT_DEVELOPER_TOKEN_HERE",
"login_customer_id": "INSERT_LOGIN_CUSTOMER_ID_HERE",
"refresh_token": "REFRESH_TOKEN",
"client_id": "OAUTH_CLIENT_ID",
"client_secret": "OAUTH_CLIENT_SECRET"}
client = GoogleAdsClient.load_from_dict(credentials)
অতিরিক্ত বিকল্পগুলির জন্য কনফিগারেশন গাইড দেখুন।
পিএইচপি
আপনি যে ব্যবহারকারীর অ্যাকাউন্টে এপিআই কল করছেন, তার কাছ থেকে প্রাপ্ত ক্রেডেনশিয়াল ব্যবহার করে রানটাইমে আপনার GoogleAdsClient ইনস্ট্যান্সটি ইনিশিয়ালাইজ করতে পারেন।
$oAuth2Credential = (new OAuth2TokenBuilder())
->withClientId('INSERT_CLIENT_ID_HERE')
->withClientSecret('INSERT_CLIENT_SECRET_HERE')
->withRefreshToken('INSERT_REFRESH_TOKEN_HERE')
->build();
$googleAdsClient = (new GoogleAdsClientBuilder())
->withOAuth2Credential($oAuth2Credential)
->withDeveloperToken('INSERT_DEVELOPER_TOKEN_HERE')
->withLoginCustomerId('INSERT_LOGIN_CUSTOMER_ID_HERE')
->build();
অতিরিক্ত বিকল্পগুলির জন্য কনফিগারেশন গাইড দেখুন।
রুবি
আপনি যে ব্যবহারকারীর অ্যাকাউন্টে এপিআই কল করছেন, তার কাছ থেকে প্রাপ্ত ক্রেডেনশিয়াল ব্যবহার করে রানটাইমে আপনার GoogleAdsClient ইনস্ট্যান্সটি ইনিশিয়ালাইজ করতে পারেন।
client = Google::Ads::GoogleAds::GoogleAdsClient.new do |config|
config.client_id = 'INSERT_CLIENT_ID_HERE'
config.client_secret = 'INSERT_CLIENT_SECRET_HERE'
config.refresh_token = 'INSERT_REFRESH_TOKEN_HERE'
config.login_customer_id = 'INSERT_LOGIN_CUSTOMER_ID_HERE'
config.developer_token = 'INSERT_DEVELOPER_TOKEN_HERE'
end
অতিরিক্ত বিকল্পগুলির জন্য কনফিগারেশন গাইড দেখুন।
পার্ল
আপনি যে ব্যবহারকারীর অ্যাকাউন্টে এপিআই কল করছেন, তার কাছ থেকে প্রাপ্ত ক্রেডেনশিয়াল ব্যবহার করে রানটাইমে আপনার GoogleAdsClient ইনস্ট্যান্সটি ইনিশিয়ালাইজ করতে পারেন।
my $api_client = Google::Ads::GoogleAds::Client->new({
developer_token => "INSERT_DEVELOPER_TOKEN_HERE",
login_customer_id => "INSERT_LOGIN_CUSTOMER_ID_HERE"
});
my $oauth2_applications_handler = $api_client->get_oauth2_applications_handler();
$oauth2_applications_handler->set_client_id("INSERT_CLIENT_ID");
$oauth2_applications_handler->set_client_secret("INSERT_CLIENT_SECRET");
$oauth2_applications_handler->set_refresh_token("INSERT_REFRESH_TOKEN");
অতিরিক্ত বিকল্পগুলির জন্য কনফিগারেশন গাইড দেখুন।
কার্ল
প্রথমে একটি HTTP ক্লায়েন্ট ব্যবহার করে একটি OAuth 2.0 অ্যাক্সেস টোকেন সংগ্রহ করুন। এই নির্দেশিকায় curl কমান্ড ব্যবহার করা হয়েছে।
curl \
--data "grant_type=refresh_token" \
--data "client_id=CLIENT_ID" \
--data "client_secret=CLIENT_SECRET" \
--data "refresh_token=REFRESH_TOKEN" \
https://www.googleapis.com/oauth2/v3/token আপনি এখন আপনার এপিআই কলগুলিতে অ্যাক্সেস টোকেন ব্যবহার করতে পারবেন। নিম্নলিখিত উদাহরণটি দেখায় কিভাবে আপনার অ্যাকাউন্টের ক্যাম্পেইনগুলি পুনরুদ্ধার করতে GoogleAdsService.SearchStream পদ্ধতি ব্যবহার করে একটি ক্যাম্পেইন রিপোর্ট চালানো যায়। এই নির্দেশিকাটি রিপোর্টিং- এর বিস্তারিত বিষয়গুলি আলোচনা করে না।
curl -i -X POST https://googleads.googleapis.com/v24/customers/CUSTOMER_ID/googleAds:searchStream \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ACCESS_TOKEN" \
-H "developer-token: DEVELOPER_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"
}