🔹 إعداد Flask للاتصال بـ Google Sheets API

لجعل Flask يتصل بـ Google Sheets، سنقوم بتنفيذ الخطوات التالية:

تفعيل Google Sheets API في Google Cloud.

إعداد بيانات الاعتماد (Credentials) لحساب الخدمة.

تثبيت المكتبات المطلوبة.

كتابة كود Flask للاتصال بـ Google Sheets.

🔹 1. تفعيل Google Sheets API في Google Cloud

1️⃣ انتقل إلى Google Cloud Console

2️⃣ أنشئ مشروعًا جديدًا باسم Flask-Sheets.

3️⃣ قم بتمكين Google Sheets API عبر البحث عن Google Sheets API وتفعيله.

4️⃣ انتقل إلى “APIs & Services” > “Credentials”.

5️⃣ اضغط على “Create Credentials” واختر “Service Account”.

6️⃣ أدخل اسم الحساب (مثل “Flask Sheets Access”) واضغط “Create”.

7️⃣ في قسم “Role”، اختر “Google Sheets Editor” لمنح صلاحيات التعديل على Google Sheets.

8️⃣ اضغط “Create Key” واختر “JSON” لتنزيل ملف بيانات الاعتماد.

9️⃣ احفظ ملف JSON باسم credentials.json داخل مجلد Flask.

🔹 الآن، لديك حساب خدمة جاهز للاتصال بـ Google Sheets API! 🚀

🔹 2. مشاركة Google Sheets مع حساب الخدمة

بعد إنشاء حساب الخدمة، تحتاج إلى إضافته كمستخدم داخل ملف Google Sheets حتى يتمكن من الوصول إليه.

📌 الخطوات العملية:

1️⃣ افتح ملف Google Sheets الذي تريد استخدامه.

2️⃣ اضغط على “Share” في أعلى الصفحة.

3️⃣ انسخ البريد الإلكتروني الخاص بحساب الخدمة من ملف credentials.json (يكون مثل your-service-account@your-project.iam.gserviceaccount.com).

4️⃣ أضفه كمستخدم جديد في Google Sheets مع إعطائه صلاحية “Editor”.

🔹 الآن، يمكن لتطبيقك الوصول إلى Google Sheets! 🚀

🔹 3. تثبيت المكتبات المطلوبة في Python

افتح الطرفية (Terminal) وثبّت المكتبات:

bash

pip install flask gspread oauth2client

🔹 4. إعداد الاتصال بـ Google Sheets داخل Flask

📌 إنشاء ملف app.py داخل مجلد Flask

python

import gspread
from oauth2client.service_account import ServiceAccountCredentials
from flask import Flask, request, jsonify

app = Flask(__name__)

# إعداد الاتصال بـ Google Sheets
scope = ["https://spreadsheets.google.com/feeds", "https://www.googleapis.com/auth/drive"]
creds = ServiceAccountCredentials.from_json_keyfile_name("credentials.json", scope)
client = gspread.authorize(creds)

# فتح ملف Google Sheets
sheet = client.open("UserDatabase").sheet1

# جلب جميع البيانات
@app.route('/api/users', methods=['GET'])
def get_users():
    users = sheet.get_all_records()
    return jsonify(users)

# إضافة مستخدم جديد
@app.route('/api/add_user', methods=['POST'])
def add_user():
    data = request.get_json()
    sheet.append_row([data["email"], data["password"], data["username"]])
    return jsonify({"status": "success", "message": "تمت إضافة المستخدم بنجاح!"})

# التحقق من تسجيل الدخول
@app.route('/api/login', methods=['POST'])
def login():
    data = request.get_json()
    email = data.get("email")
    password = data.get("password")

    users = sheet.get_all_records()
    for user in users:
        if user["email"] == email and user["password"] == password:
            return jsonify({"status": "success", "message": "تم تسجيل الدخول!", "username": user["username"]}), 200

    return jsonify({"status": "error", "message": "بيانات الدخول غير صحيحة"}), 401

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5000, debug=True)

🔹 الآن، لديك API جاهز للتحقق من تسجيل الدخول باستخدام Google Sheets! 🚀

🔹 5. تشغيل Flask على السيرفر

بعد حفظ الملف، قم بتشغيل Flask:

bash

python3 app.py

الآن، يمكنك الوصول إلى التطبيق عبر المتصفح باستخدام:

http://your-server-ip:5000/api/users

التعليقات مغلقة.