מדריכים למתחילים מסבירים איך להגדיר ולהפעיל אפליקציה שמתקשרת Google Workspace API.
המדריכים למתחילים של Google Workspace משתמשים בספריות הלקוח של ה-API כדי לטפל פרטים על תהליך האימות וההרשאה. מומלץ להשתמש בספריות הלקוח עבור האפליקציות שלכם. המדריך למתחילים הזה משתמש גישת אימות פשוטה שמתאימה לבדיקות הסביבה. בסביבת ייצור, מומלץ ללמוד על אימות והרשאה לפני בחירת פרטי הכניסה שמתאימים לאפליקציה שלכם.
ליצור אפליקציית שורת הפקודה Python ששולחת בקשות Drive Labels API.
מטרות
- מגדירים את הסביבה.
- מתקינים את ספריית הלקוח.
- הגדרת הדוגמה.
- מריצים את הדוגמה.
דרישות מוקדמות
- Python בגרסה 2.6 ומעלה
- תמונה של PIP כלי לניהול חבילות
- פרויקט של Google Cloud.
- חשבון Google.
הגדרת הסביבה
כדי להשלים את המדריך למתחילים הזה, עליכם להגדיר את הסביבה.
הפעלת ה-API
לפני שמשתמשים ב-Google APIs, צריך להפעיל אותם בפרויקט ב-Google Cloud. אפשר להפעיל ממשק API אחד או יותר בפרויקט אחד ב-Google Cloud.במסוף Google Cloud, מפעילים את Drive Labels API.
אישור פרטי כניסה לאפליקציה בשולחן העבודה
כדי לאמת משתמשי קצה ולגשת לנתוני המשתמשים באפליקציה: ליצור מזהה לקוח אחד או יותר של OAuth 2.0. מזהה לקוח משמש לזיהוי אפליקציה יחידה לשרתי OAuth של Google. אם האפליקציה שלכם פועלת בכמה פלטפורמות, צריך ליצור מזהה לקוח נפרד לכל פלטפורמה.- במסוף Google Cloud, נכנסים לתפריט > APIs & שירותים > פרטי כניסה.
- לוחצים על יצירת פרטי כניסה > מזהה לקוח OAuth.
- לוחצים על סוג אפליקציה > אפליקציית מחשב.
- בשדה Name, מקלידים שם לפרטי הכניסה. השם הזה מוצג רק במסוף Google Cloud.
- לוחצים על יצירה. יופיע המסך שנוצר על ידי לקוח OAuth ומוצג בו מזהה הלקוח החדש וסוד הלקוח שלכם.
- לוחצים על אישור. פרטי הכניסה החדשים שנוצרו יופיעו בקטע מזהי לקוחות OAuth 2.0.
- שומרים את קובץ ה-JSON שהורדתם בתור
credentials.json
ומעבירים את לספריית העבודה.
התקנת ספריית הלקוח של Google
מתקינים את ספריית הלקוח של Google ל-Python:
pip install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib
לאפשרויות התקנה חלופיות, אפשר לעיין קטע התקנה.
הגדרת הדוגמה
- בספריית העבודה, יוצרים קובץ בשם
quickstart.py
. צריך לכלול את הקוד הבא ב-
quickstart.py
:import os.path 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 from googleapiclient.errors import HttpError # If modifying these scopes, delete the file token.json. SCOPES = ['https://www.googleapis.com/auth/drive.labels.readonly'] def main(): """Shows basic usage of the Drive Labels API. Prints the first page of the customer's Labels. """ 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: service = build('drivelabels', 'v2', credentials=creds) response = service.labels().list( view='LABEL_VIEW_FULL').execute() labels = response['labels'] if not labels: print('No Labels') else: for label in labels: name = label['name'] title = label['properties']['title'] print(u'{0}:\t{1}'.format(name, title)) except HttpError as error: # TODO (developer) - Handle errors from Labels API. print(f'An error occurred: {error}') if __name__ == '__main__': main()
הרצת הדוגמה
בספריית העבודה, יוצרים ומריצים את הדוגמה:
python quickstart.py
בפעם הראשונה שמריצים את הדוגמה, מוצגת בקשה לאשר גישה:
- אם עדיין לא נכנסתם לחשבון Google, סימן צריך להיכנס לחשבון. אם אתם מחוברים למספר חשבונות, צריך לבחור חשבון אחד שישמש להרשאה.
- לוחצים על אישור.
פרטי ההרשאות מאוחסנים במערכת הקבצים, לכן בפעם הבאה הריצו את הקוד לדוגמה, לא תוצג לכם בקשה הרשאה.
יצרתם בהצלחה את אפליקציית Python הראשונה שלכם ששולחת בקשות מה-Drive Labels API.