إنشاء ملف Google Sheets لتخزين بيانات المستخدمين

🔹 1. إنشاء ملف Google Sheets لتخزين بيانات المستخدمين

1️⃣ انتقل إلى Google Sheets.

2️⃣ أنشئ ملفًا جديدًا باسم UserDatabase.

3️⃣ أضف الأعمدة التالية في الصف الأول:

  • email → البريد الإلكتروني.
  • password → كلمة المرور.
  • username → اسم المستخدم.

🔹 الآن، لدينا قاعدة بيانات جاهزة داخل Google Sheets!

🔹 2. إعداد Google Sheets API في Google Cloud

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

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

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

4️⃣ إنشاء بيانات اعتماد (Credentials):

  • اختر Service Account.
  • قم بتنزيل ملف JSON الخاص بالمفتاح السري، واحفظه باسم credentials.json.

🔹 الآن، لدينا وصول إلى Google Sheets عبر API!

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

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

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

bash

pip install flask gspread oauth2client

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

python

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

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/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!

🔹 4. ربط ووردبريس بـ Flask عبر API

📌 كود PHP داخل ووردبريس لإرسال الطلب إلى Flask

ضع هذا الكود داخل قالب ووردبريس أو ملف functions.php:

php

function login_user($email, $password) {
    $url = "http://your-vps-ip:5000/api/login";
    $data = array("email" => $email, "password" => $password);
    
    $options = array(
        "http" => array(
            "header"  => "Content-Type: application/json",
            "method"  => "POST",
            "content" => json_encode($data),
        ),
    );

    $context  = stream_context_create($options);
    $result = file_get_contents($url, false, $context);
    return json_decode($result, true);
}

// استخدام الدالة في صفحة تسجيل الدخول
$email = $_POST["email"];
$password = $_POST["password"];
$response = login_user($email, $password);

echo $response["message"];

🔹 5. كيف يعمل هذا؟

Flask يتصل بـ Google Sheets للتحقق من بيانات المستخدم.

ووردبريس يرسل طلب تسجيل الدخول إلى Flask عبر REST API.

إذا كانت البيانات صحيحة، يتم تسجيل الدخول بنجاح.

ووردبريس يعرض النتيجة للمستخدم.

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