OAuth 2.0 এর মাধ্যমে Google API ইন্টিগ্রেশন

OAuth 2.0 এর উদাহরণ ভিত্তিক প্রয়োগ (Example-Based Implementation of OAuth 2.0) - ওঅথ (OAuth 2.0) - Computer Programming

343

OAuth 2.0 হল Google-এর API ইন্টিগ্রেশনের জন্য একটি প্রধান অথোরাইজেশন প্রোটোকল, যার মাধ্যমে তৃতীয় পক্ষের অ্যাপ্লিকেশনগুলি ব্যবহারকারীর তথ্য অ্যাক্সেস করতে পারে, তবে ব্যবহারকারীর পাসওয়ার্ড সরাসরি শেয়ার করা না-হয়ে। Google OAuth 2.0 ব্যবহার করে আপনাকে অনুমতি প্রদান করে ব্যবহারকারীর Google অ্যাকাউন্টের ডেটা অ্যাক্সেস করার জন্য। উদাহরণস্বরূপ, গুগল ড্রাইভ, গুগল ক্যালেন্ডার, গুগল কনট্যাক্টস ইত্যাদি অ্যাক্সেস করতে OAuth 2.0 ব্যবহৃত হয়।

নিচে OAuth 2.0 এর মাধ্যমে Google API ইন্টিগ্রেট করার একটি স্টেপ বাই স্টেপ গাইড দেওয়া হলো।


Step 1: Google Developer Console-এ প্রজেক্ট তৈরি করুন

  1. Google Cloud Console-এ যান: https://console.developers.google.com/
  2. প্রজেক্ট তৈরি করুন:
    • "Select a project" ক্লিক করুন এবং তারপর "New Project" এ ক্লিক করুন।
    • একটি প্রজেক্ট নাম দিন এবং সেটি তৈরি করুন।
  3. API Library থেকে API Enable করুন:
    • প্রজেক্ট তৈরির পর, "API & Services" এ গিয়ে "Library" এ ক্লিক করুন।
    • আপনি যে Google API ব্যবহার করতে চান (যেমন, Google Drive API, Google Calendar API) সেটি খুঁজে বের করুন এবং Enable বাটন ক্লিক করুন।

Step 2: OAuth 2.0 Credentials তৈরি করুন

  1. Credentials তৈরি করুন:
    • "API & Services" > "Credentials" এ যান।
    • "Create Credentials" ক্লিক করুন এবং "OAuth client ID" নির্বাচন করুন।
  2. OAuth consent screen সেট করুন:
    • আপনি যখন প্রথমবার OAuth ক্লায়েন্ট আইডি তৈরি করবেন, তখন "OAuth consent screen" সেটআপ করতে হবে।
    • App name, User support email, এবং Developer contact email ফিল্ড পূর্ণ করুন।
  3. OAuth client ID নির্বাচন করুন:
    • "Application type" হিসাবে "Web application" বা "Desktop app" নির্বাচন করুন, আপনার প্রয়োজন অনুসারে।
    • Authorized redirect URIs: আপনার অ্যাপ্লিকেশনের জন্য উপযুক্ত রিডিরেক্ট URL প্রদান করুন। (যেমন: http://localhost:8000/oauth2callback)
  4. Credentials সেভ করুন:
    • "Create" ক্লিক করলে আপনার Client ID এবং Client Secret পাওয়া যাবে। এগুলো সংরক্ষণ করুন, কারণ এগুলো পরবর্তী ধাপে ব্যবহৃত হবে।

Step 3: Google OAuth 2.0 Flow ইমপ্লিমেন্টেশন

এখন, OAuth 2.0 এর মাধ্যমে ব্যবহারকারীকে গুগল অ্যাকাউন্টে লগইন করানো এবং API অ্যাক্সেসের অনুমতি প্রদান করানো হবে। এখানে একটি উদাহরণ দেওয়া হলো যেখানে আপনি Python Flask ব্যবহার করে গুগল API ইন্টিগ্রেশন করবেন।

Python Flask এবং Google API Client Library ইনস্টল করুন

  1. প্রথমে গুগল API ক্লায়েন্ট লাইব্রেরি ইনস্টল করুন:
pip install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib Flask

Step 4: OAuth 2.0 কোড তৈরি করুন

import os
import flask
import google_auth_oauthlib.flow
from googleapiclient.discovery import build

app = flask.Flask(__name__)

# আপনার ক্লায়েন্ট আইডি এবং ক্লায়েন্ট সিক্রেট ব্যবহার করুন
CLIENT_SECRETS_FILE = "client_secrets.json"
API_NAME = 'drive'
API_VERSION = 'v3'

SCOPES = ['https://www.googleapis.com/auth/drive.metadata.readonly']

@app.route('/')
def index():
    # OAuth 2.0 লগইন ফ্লো শুরু করুন
    flow = google_auth_oauthlib.flow.Flow.from_client_secrets_file(
        CLIENT_SECRETS_FILE, SCOPES)
    flow.redirect_uri = flask.url_for('oauth2callback', _external=True)

    # ব্যবহারকারীকে গুগলের অথোরাইজেশন সার্ভারে রিডিরেক্ট করুন
    authorization_url, state = flow.authorization_url(
        access_type='offline', include_granted_scopes='true')

    # ইউজারকে গুগলে রিডিরেক্ট করুন
    return flask.redirect(authorization_url)

@app.route('/oauth2callback')
def oauth2callback():
    # OAuth 2.0 কোড সংগ্রহ করুন
    state = flask.request.args['state']
    flow = google_auth_oauthlib.flow.Flow.from_client_secrets_file(
        CLIENT_SECRETS_FILE, SCOPES, state=state)
    flow.redirect_uri = flask.url_for('oauth2callback', _external=True)
    
    # কোডকে এক্সচেঞ্জ করে অ্যাক্সেস টোকেন পান
    authorization_response = flask.request.url
    flow.fetch_token(authorization_response=authorization_response)

    # গুগল API ক্লায়েন্ট তৈরি করুন
    credentials = flow.credentials
    service = build(API_NAME, API_VERSION, credentials=credentials)

    # উদাহরণ হিসেবে, গুগল ড্রাইভ থেকে ফাইলের তালিকা বের করা
    results = service.files().list(pageSize=10, fields="nextPageToken, files(id, name)").execute()
    files = results.get('files', [])

    if not files:
        return 'No files found.'
    
    return 'Files: ' + ', '.join([file['name'] for file in files])

if __name__ == '__main__':
    app.run(debug=True)

Step 5: Run the Application

  1. আপনার client_secrets.json ফাইলটি, যা আপনি Google Developer Console থেকে পেয়েছেন, প্রোগ্রামটির সাথে একই ফোল্ডারে রাখুন।
  2. Flask অ্যাপ চালানোর জন্য নিচের কমান্ড ব্যবহার করুন:
python app.py
  1. আপনার ব্রাউজারে http://localhost:5000 এ যান।
  2. আপনি গুগল লগইন স্ক্রীনে রিডিরেক্ট হয়ে যাচ্ছেন, যেখানে আপনি অ্যাপ্লিকেশনটির অনুমতি প্রদান করতে পারেন।
  3. অনুমতি দেওয়ার পর, গুগল API থেকে প্রাপ্ত ডেটা দেখানো হবে।

সারাংশ

এই গাইডের মাধ্যমে, আপনি গুগল API-এর সাথে OAuth 2.0 এর মাধ্যমে ইন্টিগ্রেশন করতে শিখলেন। আপনি কীভাবে Google API Console-এ প্রজেক্ট তৈরি করতে হয়, OAuth 2.0 credentials তৈরি করতে হয়, এবং কীভাবে Python Flask দিয়ে Google API ইন্টিগ্রেট করতে হয়—এসব শিখলেন। এই প্রক্রিয়া ব্যবহার করে আপনার ওয়েব বা মোবাইল অ্যাপ্লিকেশনগুলো Google-এর বিভিন্ন সেবা থেকে ডেটা অ্যাক্সেস করতে পারবে, তবে নিরাপদ এবং ব্যবহারকারী অনুমতির ভিত্তিতে।

Content added By
Promotion

Are you sure to start over?

Loading...