המדריך למתחילים של Python

במדריכים למתחילים מוסבר איך מגדירים ומפעילים אפליקציה שמפעילה קריאה ל-Google Workspace API.

במדריכים למתחילים של Google Workspace נעשה שימוש בספריות הלקוח של ה-API כדי לטפל בחלק מהפרטים של תהליך האימות וההרשאה. מומלץ להשתמש בספריות הלקוח עבור האפליקציות שלכם. המדריך למתחילים הזה משתמש גישת אימות פשוטה שמתאימה לבדיקות הסביבה. בסביבת ייצור, מומלץ ללמוד על אימות והרשאה לפני בחירת פרטי הכניסה שמתאימים לאפליקציה שלכם.

יוצרים אפליקציית שורת הפקודה ב-Python ששולחת בקשות ל-Google Chat API.

מטרות

  • מגדירים את הסביבה.
  • מתקינים את ספריית הלקוח.
  • הגדרת הדוגמה.
  • מריצים את הדוגמה.

דרישות מוקדמות

כדי להפעיל את המדריך למתחילים הזה, צריך לעמוד בדרישות המוקדמות הבאות:

הגדרת הסביבה

כדי להשלים את המדריך למתחילים הזה, עליכם להגדיר את הסביבה.

הפעלת ה-API

לפני שמשתמשים ב-Google APIs, צריך להפעיל אותם בפרויקט ב-Google Cloud. אפשר להפעיל ממשק API אחד או יותר בפרויקט אחד ב-Google Cloud.

אם אתם משתמשים בפרויקט חדש ב-Google Cloud כדי להשלים את המדריך למתחילים הזה, תצטרכו להגדיר את מסך ההסכמה של OAuth ולהוסיף את עצמכם כמשתמשי בדיקה. אם כבר סיימתם את השלב הזה בפרויקט שלכם ב-Cloud, דלגו לחלק הבא.

  1. במסוף Google Cloud, נכנסים לתפריט > APIs & Services > OAuth consent screen.

    מעבר למסך ההסכמה של OAuth

  2. בקטע סוג המשתמש, בוחרים באפשרות פנימי ולוחצים על יצירה.
  3. ממלאים את טופס הרישום של האפליקציה ולוחצים על שמירה והמשך.
  4. בשלב הזה אפשר לדלג על הוספת היקפי הרשאות וללחוץ על שמירה והמשך. בעתיד, כשיוצרים אפליקציה לשימוש מחוץ לארגון ב-Google Workspace, צריך לשנות את סוג המשתמש ל-חיצוני, ואז להוסיף את היקפי ההרשאה הנדרשים לאפליקציה.

  5. בודקים את סיכום רישום האפליקציה. כדי לבצע שינויים, לוחצים על עריכה. אם האפליקציה ההרשמה נראית תקינה, לוחצים על חזרה ללוח הבקרה.

אישור פרטי כניסה לאפליקציה בשולחן העבודה

כדי לאמת משתמשי קצה ולגשת לנתוני המשתמשים באפליקציה, צריך ליצור מזהה לקוח אחד או יותר ב-OAuth 2.0. מזהה לקוח משמש לזיהוי אפליקציה אחת בשרתי OAuth של Google. אם האפליקציה פועלת בכמה פלטפורמות, צריך ליצור מזהה לקוח נפרד לכל פלטפורמה.
  1. במסוף Google Cloud, נכנסים לתפריט > APIs & שירותים > פרטי כניסה.

    כניסה לדף Credentials

  2. לוחצים על Create Credentials > OAuth client ID.
  3. לוחצים על Application type (סוג האפליקציה) > Desktop app (אפליקציה למחשב).
  4. בשדה Name, מקלידים שם לפרטי הכניסה. השם הזה מוצג רק במסוף Google Cloud.
  5. לוחצים על יצירה. יופיע המסך שנוצר על ידי לקוח OAuth ומוצג בו מזהה הלקוח החדש וסוד הלקוח שלכם.
  6. לוחצים על אישור. פרטי הכניסה החדשים שנוצרו יופיעו בקטע מזהי לקוחות OAuth 2.0.
  7. שומרים את קובץ ה-JSON שהורדתם בתור credentials.json ומעבירים את לספריית העבודה.

הגדרת אפליקציית Google Chat

כדי לשלוח קריאה ל-Google Chat API, צריך להגדיר אפליקציית Google Chat. Google Chat – לכל בקשה לכתיבה שמשייך את אפליקציית Google Chat בממשק המשתמש באמצעות את הפרטים הבאים.

  1. נכנסים לדף Configuration במסוף Google Cloud:

    כניסה לדף ההגדרות של Chat API

  2. בקטע Application info, מזינים את הפרטים הבאים:

    1. בשדה App name, מזינים Chat API quickstart app.
    2. בשדה כתובת ה-URL של הדמות, מזינים את הערך https://developers.google.com/chat/images/quickstart-app-avatar.png.
    3. בשדה Description מזינים Quickstart for calling the Chat API.
  3. בקטע תכונות אינטראקטיביות לוחצים על הפעלת תכונות אינטראקטיביות למצב מושבת כדי להשבית תכונות אינטראקטיביות אפליקציית Chat.

  4. לוחצים על שמירה.

התקנת ספריית הלקוח של Google

  • מתקינים את ספריית הלקוח של Google ל-Python:

    pip install --upgrade google-apps-chat google-auth-httplib2 google-auth-oauthlib
    

הגדרת הדוגמה

  1. בספריית העבודה, יוצרים קובץ בשם quickstart.py.
  2. מוסיפים את הקוד הבא ב-quickstart.py:

    chat/quickstart/quickstart.py
    from __future__ import print_function
    
    import os.path
    
    from google.auth.transport.requests import Request
    from google.oauth2.credentials import Credentials
    from google_auth_oauthlib.flow import InstalledAppFlow
    from google.apps import chat_v1 as google_chat
    
    
    # If modifying these scopes, delete the file token.json.
    SCOPES = ['https://www.googleapis.com/auth/chat.spaces.readonly']
    
    
    def main():
        """Shows basic usage of the Google Chat API.
        """
        creds = None
        # The file token.json stores the user's access and refresh tokens, and is
        # created automatically when the authorization flow completes for the first
        # time.
        if os.path.exists('token.json'):
            creds = Credentials.from_authorized_user_file('token.json', SCOPES)
        # If there are no (valid) credentials available, let the user log in.
        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)
            # Save the credentials for the next run
            with open('token.json', 'w') as token:
                token.write(creds.to_json())
    
        try:
            # Create a client
            client = google_chat.ChatServiceClient(
                credentials = creds,
                client_options = {
                    "scopes" : SCOPES
                }
            )
    
            # Initialize request argument(s)
            request = google_chat.ListSpacesRequest(
                # Filter spaces by space type (SPACE or GROUP_CHAT or DIRECT_MESSAGE)
                filter = 'space_type = "SPACE"'
            )
    
            # Make the request
            page_result = client.list_spaces(request)
    
            # Handle the response. Iterating over page_result will yield results and
            # resolve additional pages automatically.
            for response in page_result:
                print(response)
        except Exception as error:
            # TODO(developer) - Handle errors from Chat API.
            print(f'An error occurred: {error}')
    
    
    if __name__ == '__main__':
        main()

הרצת הדוגמה

  1. בספריית העבודה, יוצרים ומריצים את הדוגמה:

    python3 quickstart.py
    
  1. בפעם הראשונה שתפעילו את הדוגמה, תתבקשו לאשר את הגישה:
    1. אם עדיין לא נכנסתם לחשבון Google, נכנסים אליו כשמופיעה בקשה לעשות זאת. אם המיקום נכנסתם לכמה חשבונות. צריך לבחור חשבון אחד שישמש להרשאה.
    2. לוחצים על אישור.

    אפליקציית Python פועלת ומפעילה את Google Chat API.

    פרטי ההרשאות מאוחסנים במערכת הקבצים, לכן בפעם הבאה שמריצים את הדוגמה לא תופיע בקשה להרשאה.

השלבים הבאים