ביצוע דוגמאות של קוד

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

חלונית במסך מלא ב-APIs Explorer עבור Google Books API
איור 2: חלונית במסך מלא ב-APIs Explorer של Google Books API.

כברירת מחדל, ב-API Explorer מוצג איך משתמשים ב-cURL כדי לבצע את הבקשה. בחלק מממשקי ה-API עשויות להופיע גם דוגמאות לשפות אחרות, כמו JavaScript,‏ Java ו-Python.

הרצת דוגמאות קוד באופן מקומי

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

פרטי הכניסה הם אחד מהפרטים הבאים, בהתאם לסוג הנתונים (ציבוריים או פרטיים) שהשיטה ניגשת אליהם:

  • לנתונים ציבוריים, פרטי הכניסה הם מפתח API.
  • לגבי נתונים פרטיים, פרטי הכניסה הם קובץ client_secret.json שמכיל את מזהה הלקוח ואת הסוד של הלקוח ב-OAuth 2.0, או אסימון גישה של OAuth 2.0.

cURL

תהליך ההגדרה

  1. פועלים לפי ההוראות במסמכי התיעוד של ה-API כדי ליצור או לבחור פרויקט לאפליקציה ולהפעיל את ה-API.
  2. יוצרים מפתח API במסוף Cloud.
  3. במסוף Cloud, יוצרים פרטי כניסה של מזהה לקוח ב-OAuth לאפליקציית אינטרנט ומשתמשים ב-https://developers.google.com/oauthplayground ככתובת ה-URI להפניה אוטומטית.
  4. ב-OAuth 2.0 Playground, לוחצים על OAuth 2.0 Configuration .
  5. מסמנים את התיבה Use your own credentials (שימוש בפרטי הכניסה שלך).
  6. מזינים את מזהה הלקוח ואת סוד הלקוח שנוצרו בשלב 3.
  7. בשדה scopes, מקלידים את ההיקף שבו רוצים להשתמש עם השיטה ולוחצים על Authorize APIs.
  8. (אופציונלי) אם מוצג מסך כניסה, בוחרים את החשבון שבו רוצים להשתמש.
  9. (אופציונלי) אם מופיעה מסך הרשאה, לוחצים על אישור.
  10. לוחצים על Exchange authorization code for tokens. הטוקן מוחזר.
  11. בדוגמת הקוד של cURL, מחליפים את הערך [YOUR_API_KEY] במפתח ה-API שנוצר בשלב 2: 'https://www.googleapis.com/drive/v3/files?key=[YOUR_API_KEY]' \
  12. בקוד לדוגמה של cURL, מחליפים את [YOUR_ACCESS_TOKEN] באסימון הגישה שנוצר בשלב 10: --header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \

הפעלת דוגמת קוד

מפעילים את הפקודה cURL משורת הפקודה. הפקודה אמורה להיראות כך:

curl \
'https://www.googleapis.com/drive/v3/files?key=AIzaSyBiKcaoXmVApwnT24hitQG_dwjGvAj6Ddw' \
--header 'Authorization: Bearer ya29.a0ARrdaM_yQn9MWBpJgKPx880BSnRYIizRYIDz0JN9e66nSliIYpqNXmPsvv2ccfplCTG_U4b1' \
--header 'Accept: application/json' \
--compressed

JavaScript

תהליך ההגדרה

  1. פועלים לפי ההוראות במסמכי התיעוד של ה-API כדי ליצור או לבחור פרויקט לאפליקציה ולהפעיל את ה-API.
  2. יוצרים מפתח API במסוף Cloud.
  3. במסוף Cloud, יוצרים פרטי כניסה של מזהה לקוח OAuth עבור 'אפליקציית אינטרנט' ומגדירים את מקורות ה-JavaScript המורשים לזיהוי כתובת ה-URL שממנה שולחים בקשות, למשל http://localhost.
  4. מעתיקים את דוגמת הקוד המלאה לקובץ מקומי ששרת האינטרנט שלכם יכול לגשת אליו, למשל /var/www/html/example.html.
  5. מחפשים את השורה בדוגמת הקוד שמגדירה את מפתח ה-API או את מזהה הלקוח, ומחליפים את הערך בערכים שנוצרו בשלבים 2 ו-3:

    • מפתח API: gapi.client.setApiKey(YOUR_API_KEY);
    • מזהה לקוח ב-OAuth 2.0: gapi.client.init({ 'clientId': 'YOUR_CLIENT_ID',

הפעלת דוגמת קוד

  1. פותחים את הקובץ בדפדפן, למשל http://localhost/example.html. מומלץ להשתמש בדפדפן עם מסוף לניפוי באגים, כמו Google Chrome.
  2. (אופציונלי) אם מוצג מסך כניסה, בוחרים את החשבון שבו רוצים להשתמש.
  3. (אופציונלי) אם מופיעה מסך הרשאה, לוחצים על אישור. בתגובה של שיטת ניפוי הבאגים במסוף צריך להופיע אובייקט JSON.

Java

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

  • Java מגרסה 1.7 ואילך.
  • Gradle 7 ואילך.

תהליך ההגדרה

  1. פועלים לפי ההוראות במסמכי התיעוד של ה-API כדי ליצור או לבחור פרויקט לאפליקציה ולהפעיל את ה-API.
  2. בהתאם לסוג הנתונים שהשיטה ניגשת אליהם, יוצרים מפתח API (נתונים ציבוריים) או יוצרים מזהה לקוח ב-OAuth 2.0 (נתונים פרטיים).
  3. מגדירים את סוג האפליקציה בתור אפליקציה למחשב.
  4. אם יצרתם מזהה לקוח ב-OAuth 2.0, מורידים את קובץ ה-JSON שמכיל את פרטי הכניסה שלכם ל-OAuth 2.0. שם הקובץ הזה דומה ל-client_secret_CLIENTID.json, כאשר CLIENTID הוא מזהה הלקוח של הפרויקט.
  5. כדי ליצור מבנה פרויקט חדש, מריצים את הפקודות הבאות בתיקיית העבודה:

    $ gradle init --type basic
    $ mkdir -p src/main/java src/main/resources
    
  6. אם יצרתם מזהה לקוח ב-OAuth 2.0 בשלב 2, צריך לשנות את השם של קובץ ה-JSON שהורדתם ל-client_secret.json.

  7. שומרים את הקובץ ששיניתם את השם שלו בספרייה src/main/resources שיצרתם בשלב 5.

  8. בספריית העבודה, פותחים את הקובץ build.gradle ומחליפים את התוכן שלו בקוד הבא:

    apply plugin: 'java'
    apply plugin: 'application'
    
    mainClassName = 'ApiExample'
    sourceCompatibility = 1.7
    targetCompatibility = 1.7
    version = '1.0'
    
    repositories {
        mavenCentral()
    }
    
    dependencies {
        compile 'com.google.api-client:google-api-client:1.23.0'
        compile 'com.google.oauth-client:google-oauth-client-jetty:1.23.0'
        API_SPECIFIC_DEPENDENCY
    }
    
  9. בקובץ build.gradle, מחליפים את השורה API_SPECIFIC_DEPENDENCY בהוראה לקמפל קוד ל-API שאליו קוראים. הנה דוגמה ל-YouTube Analytics API:

    compile 'com.google.apis:google-api-services-youtubeAnalytics:v2-rev16-1.23.0'
    

    ההוראה בנויה לפי התבנית הבאה:

    compile 'com.google.apis:google-api-services-API_NAME:API_VERSION-   revREVISION-CL_VERSION'
    

כאשר:

  • API_NAME הוא שם ה-API שמופיע ב-GitHub. כדי למצוא את השם, לוחצים על הקישור לגרסה לצד ה-API בדף Supported Google APIs. הקישור לגרסה מעביר אתכם אל GitHub. שם ה-API מופיע בחלק העליון של הדף, לפניו מופיע googleapis/google-apis-services-. לדוגמה, ב-v3 של Drive API, הערך של API_NAME הוא drive.
  • API_VERSION היא גרסת ה-API שמופיעה מתחת לשם ה-API בדף Supported Google APIs.
  • REVISION הוא מספר הגרסה שמופיע במסמך העזרה של JavaDoc של ה-API. מסמך העזר של JavaDoc זמין בכתובת https://googleapis.dev/java/google-api-services-API_NAME/latest/index.html
  • CL_VERSION היא גרסת ספריית הלקוח. הערך הזה מופיע גם במסמך העזר של JavaDoc.
  • מעתיקים את דוגמת הקוד מ-APIs Explorer ל-src/main/java/ApiExample.java בספריית העבודה. (שם המחלקה בכל דוגמה הוא ApiExample, כך שאין צורך לשנות את הקובץ build.gradle כדי להריץ דוגמאות שונות.

הפעלת דוגמת קוד

כדי להריץ את הדוגמה, משתמשים בפקודה הבאה:

  gradle -q run

הדוגמה אמורה להריץ את בקשת ה-API ולהדפיס את התשובה ב-STDOUT. אפשר גם לבדוק את השירות שאליו אתם קוראים כדי לראות את ההשפעות של בקשות שמפעילות כתיבה של נתונים.

Node.js

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

  • Node.js
  • ספריית הלקוח של Google APIs ל-Node.js:

    • אם עדיין לא התקנתם את ספריית הלקוח, מריצים את הפקודה:
    npm install googleapis --save
    
    • אם כבר התקנתם את ספריית הלקוח, מומלץ לעדכן אותה כדי לוודא שיש לכם את הכיתות העדכניות ביותר של הספרייה שאתם בודקים. כדי לעדכן את ספריית הלקוח, מריצים את הפקודה:
    npm update googleapis --save
    

תהליך ההגדרה

  1. פועלים לפי ההוראות במסמכי התיעוד של ה-API כדי ליצור או לבחור פרויקט לאפליקציה ולהפעיל את ה-API.
  2. בהתאם לסוג הנתונים שהשיטה ניגשת אליהם, יוצרים מפתח API (נתונים ציבוריים) או יוצרים מזהה לקוח ב-OAuth 2.0 (נתונים פרטיים).
  3. מגדירים את סוג האפליקציה בתור אפליקציה למחשב.
  4. אם יצרתם מזהה לקוח ב-OAuth 2.0, מורידים את קובץ ה-JSON שמכיל את פרטי הכניסה שלכם ל-OAuth 2.0. שם הקובץ הזה דומה ל-client_secret_CLIENTID.json, כאשר CLIENTID הוא מזהה הלקוח של הפרויקט.
  5. מעתיקים את דוגמת הקוד לקובץ מקומי ומשנים את הדוגמה כך שתזהה בצורה נכונה את מפתח ה-API או את קובץ סודות הלקוח. בדוגמה, הערך של מפתח ה-API הוא YOUR_API_KEY והמיקום של קובץ סודות הלקוח הוא YOUR_CLIENT_SECRET_FILE.json.

הפעלת דוגמת קוד

כדי להריץ את הדוגמה, משתמשים בפקודה הבאה:

  node sample.js

ברוב הדוגמאות מתבצעת הדפסה של תגובת API (או משהו אחר) אל STDOUT.

PHP

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

  • PHP 5.4 ואילך עם ממשק שורת הפקודה (CLI) והתוסף JSON.
  • הכלי לניהול יחסי התלות ב-Composer, שמותקן באופן גלובלי.
  • ספריית הלקוח של Google APIs ל-PHP:

    • אם עדיין לא התקנתם את ספריית הלקוח, מריצים את הפקודה:

      composer require google/apiclient:^2.0
      
    • אם כבר התקנתם את ספריית הלקוח, מומלץ לעדכן אותה כדי לוודא שיש לכם את הכיתות העדכניות ביותר של הספרייה שאתם בודקים. כדי לעדכן את ספריית הלקוח, מריצים את הפקודה:

      composer update google/apiclient --with-dependencies
      

הפעלת דוגמת קוד

כדי להריץ את הדוגמה, משתמשים בפקודה הבאה:

  php sample.php

ברוב הדוגמאות מתבצעת הדפסה של תגובת API (או משהו אחר) אל STDOUT.

Python

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

  • Python 2.7 או Python 3.5 ואילך
  • הכלי לניהול חבילות pip
  • ספריית הלקוח של Google APIs ל-Python:

    pip install --upgrade google-api-python-client
    
  • הספריות google-auth-oauthlib ו-google-auth-httplib2 להרשאת משתמשים:

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

תהליך ההגדרה

  1. פועלים לפי ההוראות במסמכי התיעוד של ה-API כדי ליצור או לבחור פרויקט לאפליקציה ולהפעיל את ה-API.
  2. בהתאם לסוג הנתונים שהשיטה ניגשת אליהם, יוצרים מפתח API (נתונים ציבוריים) או יוצרים מזהה לקוח ב-OAuth 2.0 (נתונים פרטיים).
  3. מגדירים את סוג האפליקציה בתור אפליקציה למחשב.
  4. אם יצרתם מזהה לקוח ב-OAuth 2.0, מורידים את קובץ ה-JSON שמכיל את פרטי הכניסה שלכם ל-OAuth 2.0. שם הקובץ הזה דומה ל-client_secret_CLIENTID.json, כאשר CLIENTID הוא מזהה הלקוח של הפרויקט.
  5. מעתיקים את דוגמת הקוד לקובץ מקומי ומשנים את הדוגמה כך שתזהה בצורה נכונה את מפתח ה-API או את קובץ סודות הלקוח. בדוגמה, הערך של מפתח ה-API הוא YOUR_API_KEY והמיקום של קובץ סודות הלקוח הוא YOUR_CLIENT_SECRET_FILE.json.

הפעלת דוגמת קוד

כדי להריץ את הדוגמה, משתמשים בפקודה הבאה:

  python sample.py

ברוב הדוגמאות מתבצעת הדפסה של תגובת API (או משהו אחר) אל STDOUT.

Ruby

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

  • Ruby 2.0 ואילך
  • ספריית הלקוח של Google APIs ל-Ruby:

    gem install google-api-client`
    

תהליך ההגדרה

  1. פועלים לפי ההוראות במסמכי התיעוד של ה-API כדי ליצור או לבחור פרויקט לאפליקציה ולהפעיל את ה-API.
  2. בהתאם לסוג הנתונים שהשיטה ניגשת אליהם, יוצרים מפתח API (נתונים ציבוריים) או יוצרים מזהה לקוח ב-OAuth 2.0 (נתונים פרטיים).
  3. מגדירים את סוג האפליקציה בתור אפליקציה למחשב.
  4. אם יצרתם מזהה לקוח ב-OAuth 2.0, מורידים את קובץ ה-JSON שמכיל את פרטי הכניסה שלכם ל-OAuth 2.0. שם הקובץ הזה דומה ל-client_secret_CLIENTID.json, כאשר CLIENTID הוא מזהה הלקוח של הפרויקט.
  5. מעתיקים את דוגמת הקוד לקובץ מקומי ומשנים את הדוגמה כך שתזהה בצורה נכונה את מפתח ה-API או את קובץ סודות הלקוח. בדוגמה, הערך של מפתח ה-API הוא YOUR_API_KEY והמיקום של קובץ סודות הלקוח הוא YOUR_CLIENT_SECRET_FILE.json.

הפעלת דוגמת קוד

כדי להריץ את הדוגמה, משתמשים בפקודה הבאה:

  ruby sample.rb

ברוב הדוגמאות מתבצעת הדפסה של תגובת API (או משהו אחר) אל STDOUT.

פתרון בעיות שקשורות לדגימות

תיבת הדו-שיח של ההרשאה לא מופיעה

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

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

קיבלתם שגיאה מסוג 401 או 403

אם מופיעה הודעת השגיאה 401 או 403 כשבודקים דוגמה, סביר להניח שהבעיה נובעת מאחד מהגורמים הבאים:

  • ממשק ה-API לא מופעל בפרויקט. כדאי לעיין בהוראות של ה-API לגבי יצירת פרויקט והפעלת API.
  • אתם משתמשים בסוג הרשאה שגוי (מפתח API במקום OAuth 2.0).
  • אתם משתמשים ב-OAuth 2.0, אבל ההיקף מצומצם מדי.
  • כשמגדירים מפתח API, מגדירים הגבלות כדי למנוע שימוש לא מורשה בפרטי הכניסה. עם זאת, הבקשה לא עומדת בהגבלות האלה. למידע נוסף, ראו שימוש בהגבלות על מפתחות API.

קיבלתם אזהרה לגבי תוכן מעורב

אם אתם משתמשים ב-Google Cloud Endpoints ומפעילים את נקודת הקצה בשרת פיתוח, יכול להיות שתופיע בדפדפן אזהרה לגבי תוכן מעורב. האזהרה הזו מופיעה כי APIs Explorer נטען דרך HTTPS, אבל כשה-API פועל באופן מקומי, הוא מתארח ב-HTTP.

כדי להסתיר את האזהרה הזו באמצעות Chrome, מתחילים סשן ב-Chrome עם דגלים מיוחדים באופן הבא:

path/to/chrome --user-data-dir=test --unsafely-treat-insecure-origin-as-secure=http://localhost:port

לדוגמה:

/usr/bin/google-chrome-stable --user-data-dir=test --unsafely-treat-insecure-origin-as-secure=http://localhost:8080

מומלץ להסתיר את האזהרה הזו רק למטרות בדיקה מקומית.

JavaScript בלבד: לא מוגדרת פונקציית gapi

השגיאה 'gapi is not defined' מתרחשת כאשר קוד ה-JavaScript מנסה להפעיל את ספריית הלקוח של Google API ל-JavaScript לפני שהספרייה נטענת. חשוב לוודא שהקוד שמתייחס למשתנה gapi לא יקרא לו עד אחרי הטעינה של ספריית הלקוח.