1. Home
  2. Netherland
  3. Bot
  4. 3.Google Drive API সেটআপ এবং Python প্রোজেক্ট প্রস্তুতি

3.Google Drive API সেটআপ এবং Python প্রোজেক্ট প্রস্তুতি

🛠 ধাপ ১: Google Cloud Console-এ প্রবেশ করুন

  1. আপনার ব্রাউজারে যান: https://console.cloud.google.com
  2. আপনার Google অ্যাকাউন্ট দিয়ে সাইন ইন করুন (যদি না করা থাকে)।

🛠 ধাপ ২: একটি নতুন প্রোজেক্ট তৈরি করুন

  1. উপরের বাম পাশে প্রোজেক্ট সিলেক্টর অপশনে ক্লিক করুন।
  2. NEW PROJECT” বা “প্রোজেক্ট তৈরি করুন” বাটনে ক্লিক করুন।
  3. প্রোজেক্টের জন্য একটি নাম দিন (যেমন: My Drive App)।
  4. (ইচ্ছা হলে) একটি Organization বা Folder সিলেক্ট করুন।
  5. Create” বাটনে ক্লিক করুন।

🛠 ধাপ ৩: নতুন প্রোজেক্ট সিলেক্ট করুন

  1. প্রোজেক্ট তৈরি হয়ে গেলে আবার উপরের প্রোজেক্ট সিলেক্টর-এ যান।
  2. আপনার তৈরি নতুন প্রোজেক্টটি নির্বাচন করুন।

🛠 ধাপ ৪: Google Drive API চালু করুন

  1. ড্যাশবোর্ড থেকে “APIs & Services” > “Library” এ যান।
  2. সার্চ বক্সে লিখুন “Google Drive API”
  3. সার্চ রেজাল্ট থেকে Google Drive API সিলেক্ট করুন।
  4. Enable” বাটনে ক্লিক করুন।

ধাপ 5: OAuth Consent Screen তৈরি করুন

  1. Google Cloud Console-এ যান: https://console.cloud.google.com
  2. বাম পাশের মেনু থেকে “APIs & Services” > “OAuth consent screen” এ যান।
  3. User Type হিসেবে “External” নির্বাচন করুন, তারপর Create ক্লিক করুন।
  4. App Information:
    • App name: যেমন My Drive App
    • User support email: আপনার ইমেইল দিন
  5. Developer contact information:
    • একটি ইমেইল দিন (আপনার ইমেইল)
  6. Save and Continue চাপুন
  7. Scopes (optional): কিছু না করেও “Save and Continue” চাপুন
  8. Test users:
    • আপনার ইমেইল অ্যাড্রেস যোগ করুন (যারা অ্যাপটি ব্যবহার করবে)
    • তারপর Save and Continue
  9. শেষে Back to Dashboard এ ক্লিক করুন।

✅ ধাপ ৬: Credentials তৈরি করুন (OAuth Client ID)

  1. বাম মেনু:
    APIs & Services → Credentials
    🔗 URL: https://console.cloud.google.com/apis/credentials
  2. উপরের দিকে ক্লিক করুন:
    + CREATE CREDENTIALS → OAuth Client ID
  3. Application Type: Desktop app নির্বাচন করুন
  4. নাম দিন: Drive Desktop Client
  5. Create ক্লিক করুন

✅ ধাপ ৭: credentials.json ফাইল ডাউনলোড করুন

  1. Create হবার পর একটি পপআপ আসবে
  2. তাতে Download JSON বাটনে ক্লিক করুন
  3. ফাইলটি আপনার কোডের প্রোজেক্ট ফোল্ডারে রাখুন (নাম হতে পারে: credentials.json)

✅ ধাপ ৮: Python লাইব্রেরি ইন্সটল করুন

pip install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib

✅ অতিরিক্ত বিষয়: Test Mode vs Production Mode

আপনি যদি Test Mode থেকে বের হয়ে Production-এ যেতে চান:

  1. Consent Screen-এ গিয়ে:
    🔗 https://console.cloud.google.com/apis/credentials/consent
  2. নিচে Publish App বাটনে ক্লিক করুন

Python কোড: Google Drive থেকে ফাইল/ফোল্ডার তালিকা আনুন

from __future__ import print_function
import os.path
import pickle

from google.auth.transport.requests import Request
from google.oauth2.credentials import Credentials
from google_auth_oauthlib.flow import InstalledAppFlow
from googleapiclient.discovery import build

# এই স্কোপটি আপনাকে শুধুমাত্র রিড-অনলি এক্সেস দিবে
SCOPES = ['https://www.googleapis.com/auth/drive.metadata.readonly']

def main():
    creds = None

    # token.pickle ফাইলটি OAuth টোকেন সেভ করে রাখে
    if os.path.exists('token.pickle'):
        with open('token.pickle', 'rb') as token:
            creds = pickle.load(token)

    # যদি credentials না থাকে বা এক্সপায়ার হয়ে যায়, নতুন করে লগইন করায়
    if not creds or not creds.valid:
        if creds and creds.expired and creds.refresh_token:
            creds.refresh(Request())
        else:
            flow = InstalledAppFlow.from_client_secrets_file(
                'credentials.json', SCOPES)
            creds = flow.run_local_server(port=0)

        # ভবিষ্যতে ব্যবহারের জন্য টোকেন সেভ করে রাখা হয়
        with open('token.pickle', 'wb') as token:
            pickle.dump(creds, token)

    # Google Drive API সার্ভিস অবজেক্ট তৈরি
    service = build('drive', 'v3', credentials=creds)

    # ফাইল লিস্ট রিকোয়েস্ট করা হচ্ছে
    results = service.files().list(
        pageSize=10, fields="nextPageToken, files(id, name)").execute()
    items = results.get('files', [])

    if not items:
        print('কোনো ফাইল পাওয়া যায়নি।')
    else:
        print('ফাইল ও ফোল্ডারের তালিকা:')
        for item in items:
            print(f"{item['name']} ({item['id']})")

if __name__ == '__main__':
    main()

📝 সংক্ষেপে কী করে:

  • প্রথমবার চালালে এটি ব্রাউজারে একটি Google লগইন উইন্ডো খুলবে।
  • লগইন করলে এটি token.pickle নামে একটি ফাইল তৈরি করবে যেটা আপনার অথরাইজেশন সংরক্ষণ করবে।
  • এরপর এটি Google Drive থেকে প্রথম ১০টি ফাইল/ফোল্ডারের নাম ও ID প্রিন্ট করবে।

How can we help?