التعامل مع Google Cloud Console وإنشاء مفاتيح الـ API


ماذا سنبني اليوم؟

اليوم، سنتعلم كيفية إعداد مشروع جديد في Google Cloud Console، تفعيل خدمة Google API (مثل Google Books API)، إنشاء مفتاح API (API Key) لتلك الخدمة، ثم كتابة كود Python بسيط لاستخدام هذا المفتاح للتفاعل مع الـ API وجلب بعض البيانات.

1. إعداد مشروع Google Cloud

للبدء، سنحتاج إلى مشروع في Google Cloud Console. هذا المشروع سيكون الحاوية لجميع مواردنا وخدماتنا.

  1. انتقل إلى Google Cloud Console.
  2. إذا كانت هذه هي المرة الأولى لك، قد تحتاج إلى قبول الشروط والأحكام.
  3. في الجزء العلوي من الصفحة، انقر على اسم المشروع الحالي (أو "Select a project").
  4. في النافذة المنبثقة، انقر على "New Project" (مشروع جديد).
  5. أدخل اسمًا لمشروعك (مثلاً: "My SEO Automation Project")، ثم انقر على "Create" (إنشاء).
  6. بعد إنشاء المشروع، تأكد من تحديده في شريط التنقل العلوي.
  7. الآن، سنقوم بتفعيل الـ API الذي سنستخدمه. في القائمة الجانبية، انتقل إلى "APIs & Services" (واجهات برمجة التطبيقات والخدمات) ثم "Library" (المكتبة).
  8. في شريط البحث، ابحث عن "Google Books API" (أو أي API آخر ترغب في استخدامه).
  9. انقر على "Google Books API" من النتائج، ثم انقر على زر "Enable" (تفعيل).
ملاحظة تقنية هامة: تفعيل الـ API يخبر Google بأن مشروعك سيستخدم هذه الخدمة. بدون تفعيل، لن تتمكن من الوصول إليها حتى لو كان لديك مفتاح API صالح.

2. إنشاء مفتاح API وتأمينه

الآن بعد أن أصبح لدينا مشروع وقمنا بتفعيل الـ API، سنقوم بإنشاء مفتاح API.

  1. في القائمة الجانبية لـ Google Cloud Console، انتقل إلى "APIs & Services" ثم "Credentials" (بيانات الاعتماد).
  2. في الجزء العلوي من الصفحة، انقر على "CREATE CREDENTIALS" (إنشاء بيانات اعتماد) ثم اختر "API Key" (مفتاح API).
  3. سيتم إنشاء مفتاح API الخاص بك على الفور وعرضه في نافذة منبثقة. انسخ هذا المفتاح واحتفظ به في مكان آمن.
  4. تأمين مفتاح الـ API: من الضروري تقييد استخدام مفتاح API الخاص بك لمنع الاستخدام غير المصرح به. انقر على "RESTRICT KEY" (تقييد المفتاح) في النافذة المنبثقة أو ابحث عن المفتاح في قائمة "API Keys" وانقر على اسمه.
    • Application restrictions (قيود التطبيق): يمكنك تحديد مواقع الويب (HTTP referrers) أو عناوين IP التي يُسمح لها باستخدام هذا المفتاح. على سبيل المثال، إذا كان الكود سيُشغل من خادم معين، يمكنك إضافة عنوان IP الخاص به.
    • API restrictions (قيود الـ API): يمكنك تحديد واجهات برمجة التطبيقات (APIs) التي يمكن لهذا المفتاح الوصول إليها. تأكد من تحديد "Google Books API" هنا.
  5. انقر على "Save" (حفظ) لتطبيق القيود.
ملاحظة تقنية هامة: مفاتيح الـ API مناسبة للوصول إلى البيانات العامة أو لتحديد هوية مشروعك عند الوصول إلى بعض الخدمات. ومع ذلك، للوصول إلى بيانات المستخدم الخاصة (مثل جداول بيانات Google Sheets الخاصة بك) أو إجراء عمليات حساسة، يوصى بشدة باستخدام OAuth 2.0 (للتطبيقات التي تتطلب موافقة المستخدم) أو حسابات الخدمة (Service Accounts) للأتمتة من الخادم إلى الخادم. مفتاح الـ API وحده لا يمنح الوصول إلى البيانات الخاصة.

3. كتابة كود Python للتفاعل مع الـ API

الآن سنكتب كود Python بسيطًا يستخدم مفتاح الـ API الذي أنشأناه للبحث عن الكتب باستخدام Google Books API.

  1. تثبيت مكتبة Google Client:
    pip install google-api-python-client
  2. الكود: استبدل "YOUR_API_KEY" بمفتاح الـ API الذي نسخته و "Python Programming" بعبارة البحث التي تريدها.
import googleapiclient.discovery

def search_books(api_key, query):
    """
    يبحث عن الكتب باستخدام Google Books API ويعرض عناوينها.

    Args:
        api_key (str): مفتاح الـ API الخاص بـ Google Cloud.
        query (str): عبارة البحث عن الكتب.
    """
    try:
        service = googleapiclient.discovery.build(
            "books", "v1", developerKey=api_key
        )

        request = service.volumes().list(q=query)
        response = request.execute()

        print(f"نتائج البحث عن '{query}':")
        if 'items' in response:
            for item in response['items']:
                volume_info = item.get('volumeInfo', {})
                title = volume_info.get('title', 'عنوان غير متوفر')
                authors = volume_info.get('authors', ['مؤلف غير معروف'])
                print(f"- {title} بواسطة {', '.join(authors)}")
        else:
            print("لم يتم العثور على كتب.")

    except Exception as e:
        print(f"حدث خطأ: {e}")

if __name__ == "__main__":
    YOUR_API_KEY = "YOUR_API_KEY"  # استبدل هذا بمفتاح الـ API الخاص بك
    SEARCH_QUERY = "SEO Automation" # استبدل هذا بعبارة البحث التي تريدها

    search_books(YOUR_API_KEY, SEARCH_QUERY)

النتيجة النهائية المتوقعة

بعد تشغيل الكود أعلاه بنجاح، ستلاحظ في نافذة الطرفية (Terminal) أو سطر الأوامر (Command Prompt) ظهور قائمة بأسماء الكتب وعناوينها المتعلقة بعبارة البحث التي أدخلتها. هذا يؤكد أن مشروع Google Cloud الخاص بك قد تم إعداده بشكل صحيح، وأن مفتاح الـ API يعمل، وأنك تمكنت من التفاعل مع Google Books API بنجاح.