הכלי Google APIs Explorer יוצר באופן דינמי דוגמאות קוד. דוגמאות הקוד האלה נועדו להעתקה ולהרצה מקומית. כדי לראות את הדוגמאות, לוחצים על סמל המסך המלא בחלונית הצדדית של הכלי APIs Explorer. באיור הבא מוצג הכלי APIs Explorer במסך מלא:
כברירת מחדל, ב-APIs Explorer מוצגות הוראות לשימוש ב-cURL כדי להריץ את הבקשה. יכול להיות שבחלק מממשקי ה-API יוצגו גם דוגמאות לשפות אחרות, כמו JavaScript, Java ו-Python.
הרצת דוגמאות קוד באופן מקומי
בכרטיסיות הבאות מוסברים הדרישות המוקדמות והשלבים להרצת דוגמאות קוד. כדי להריץ את דוגמאות הקוד, צריך ליצור ולהשתמש באמצעי אימות משלכם. הסבר על יצירת פרויקט ואישורים מופיע במסמכי התיעוד של Google API הספציפי.
האישורים הם אחד מהסוגים הבאים, בהתאם לסוג הנתונים (ציבוריים או פרטיים) שהשיטה ניגשת אליהם:
- לנתונים ציבוריים, אמצעי האימות הוא מפתח API.
לגבי נתונים פרטיים, פרטי הכניסה הם קובץ
client_secret.jsonשמכיל את מזהה הלקוח ואת הסוד של הלקוח ב-OAuth 2.0, או אסימון גישה ב-OAuth 2.0.
cURL
תהליך ההגדרה
- פועלים לפי ההוראות בתיעוד של ה-API כדי ליצור פרויקט לאפליקציה או לבחור פרויקט קיים ולהפעיל את ה-API.
- יוצרים מפתח API במסוף Cloud.
- במסוף Cloud, יוצרים פרטי כניסה של מזהה לקוח OAuth לאפליקציית אינטרנט ומשתמשים ב-
https://developers.google.com/oauthplaygroundככתובת ה-URI להפניה אוטומטית. - ב-OAuth 2.0 Playground, לוחצים על OAuth 2.0 Configuration (הגדרת OAuth 2.0) .
- מסמנים את התיבה Use your own credentials (שימוש בפרטי הכניסה שלך).
- מזינים את מזהה הלקוח ואת סוד הלקוח שנוצרו בשלב 3.
- בשדה 'היקפים', מקלידים את ההיקף שרוצים להשתמש בו עם ה-method ולוחצים על Authorize APIs (מתן הרשאה לממשקי API).
- (אופציונלי) אם מוצג מסך כניסה, בוחרים את החשבון שבו רוצים להשתמש.
- (אופציונלי) אם מוצג מסך הרשאה, לוחצים על אישור.
- לוחצים על Exchange authorization code for tokens (החלפת קוד הרשאה באסימונים). מוחזר טוקן.
- בדוגמת הקוד של cURL, מחליפים את
[YOUR_API_KEY]במפתח ה-API שנוצר בשלב 2:'https://www.googleapis.com/drive/v3/files?key=[YOUR_API_KEY]' \ - בדוגמה של קוד 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
תהליך ההגדרה
- פועלים לפי ההוראות בתיעוד של ה-API כדי ליצור פרויקט לאפליקציה או לבחור פרויקט קיים ולהפעיל את ה-API.
- יוצרים מפתח API במסוף Cloud.
- במסוף Cloud, יוצרים פרטי כניסה של מזהה לקוח OAuth עבור 'אפליקציית אינטרנט' ומגדירים את המקורות המורשים של JavaScript כדי לזהות את כתובת ה-URL שממנה יישלחו הבקשות, כמו
http://localhost. - מעתיקים את דוגמת הקוד המלאה לקובץ מקומי שאפשר לגשת אליו משרת האינטרנט, כמו
/var/www/html/example.html. מחפשים בדוגמת הקוד את השורה שבה מוגדר מפתח ה-API או מזהה הלקוח, ומחליפים את הערך בערכים שנוצרו בשלבים 2 ו-3:
- מפתח API:
gapi.client.setApiKey(YOUR_API_KEY); - מזהה לקוח ב-OAuth 2.0:
gapi.client.init({ 'clientId': 'YOUR_CLIENT_ID',
- מפתח API:
הפעלת דוגמת קוד
- פותחים את הקובץ בדפדפן, כמו
http://localhost/example.html. מומלץ להשתמש בדפדפן עם מסוף לניפוי באגים, כמו Google Chrome. - (אופציונלי) אם מוצג מסך כניסה, בוחרים את החשבון שבו רוצים להשתמש.
- (אופציונלי) אם מוצג מסך הרשאה, לוחצים על אישור. התגובה של השיטה אמורה להופיע במסוף הניפוי כ-JSON object.
Java
דרישות מוקדמות
- Java 1.7 ואילך.
- Gradle 7 ואילך.
תהליך ההגדרה
- פועלים לפי ההוראות בתיעוד של ה-API כדי ליצור פרויקט לאפליקציה או לבחור פרויקט קיים ולהפעיל את ה-API.
- בהתאם לסוג הנתונים שהשיטה ניגשת אליהם, יוצרים מפתח API (נתונים ציבוריים) או מזהה לקוח ב-OAuth 2.0 (נתונים פרטיים).
- מגדירים את סוג האפליקציה בתור אפליקציה למחשב.
- אם יצרתם מזהה לקוח OAuth 2.0, מורידים את קובץ ה-JSON שמכיל את פרטי הכניסה שלכם ל-OAuth 2.0. שם הקובץ דומה ל-
client_secret_CLIENTID.json, כאשרCLIENTIDהוא מזהה הלקוח של הפרויקט. בספריית העבודה, מריצים את הפקודות הבאות כדי ליצור מבנה פרויקט חדש:
$ gradle init --type basic $ mkdir -p src/main/java src/main/resourcesאם יצרתם מזהה לקוח OAuth 2.0 בשלב 2, משנים את השם של קובץ ה-JSON שהורדתם ל-
client_secret.json.שומרים את הקובץ ששמו שונה בספרייה
src/main/resourcesשיצרתם בשלב 5.בספריית העבודה, פותחים את הקובץ
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 }בקובץ
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. כדי למצוא את השם, לוחצים על הקישור לגרסה שלצד ה-API בדף ממשקי Google API נתמכים. הקישור של הגרסה מעביר אל GitHub. שם ה-API מופיע באמצע החלק העליון של הדף ולפניו הסמלgoogleapis/google-apis-services-. לדוגמה, בגרסה 3 של Drive API, הערך שלAPI_NAMEהואdrive. -
API_VERSIONהיא גרסת ה-API שמופיעה עבור ה-API מתחת לשם ה-API בדף 'ממשקי 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
תהליך ההגדרה
- פועלים לפי ההוראות בתיעוד של ה-API כדי ליצור פרויקט לאפליקציה או לבחור פרויקט קיים ולהפעיל את ה-API.
- בהתאם לסוג הנתונים שהשיטה ניגשת אליהם, יוצרים מפתח API (נתונים ציבוריים) או מזהה לקוח ב-OAuth 2.0 (נתונים פרטיים).
- מגדירים את סוג האפליקציה בתור אפליקציה למחשב.
- אם יצרתם מזהה לקוח OAuth 2.0, מורידים את קובץ ה-JSON שמכיל את פרטי הכניסה שלכם ל-OAuth 2.0. שם הקובץ דומה ל-
client_secret_CLIENTID.json, כאשרCLIENTIDהוא מזהה הלקוח של הפרויקט. - מעתיקים את דוגמת הקוד לקובץ מקומי ומשנים את הדוגמה כדי לזהות בצורה נכונה את מפתח ה-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
תהליך ההגדרה
- פועלים לפי ההוראות בתיעוד של ה-API כדי ליצור פרויקט לאפליקציה או לבחור פרויקט קיים ולהפעיל את ה-API.
- בהתאם לסוג הנתונים שהשיטה ניגשת אליהם, יוצרים מפתח API (נתונים ציבוריים) או מזהה לקוח ב-OAuth 2.0 (נתונים פרטיים).
- מגדירים את סוג האפליקציה בתור אפליקציה למחשב.
- אם יצרתם מזהה לקוח OAuth 2.0, מורידים את קובץ ה-JSON שמכיל את פרטי הכניסה שלכם ל-OAuth 2.0. שם הקובץ דומה ל-
client_secret_CLIENTID.json, כאשרCLIENTIDהוא מזהה הלקוח של הפרויקט. - מעתיקים את דוגמת הקוד לקובץ מקומי ומשנים את הדוגמה כדי לזהות בצורה נכונה את מפתח ה-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`
תהליך ההגדרה
- פועלים לפי ההוראות בתיעוד של ה-API כדי ליצור פרויקט לאפליקציה או לבחור פרויקט קיים ולהפעיל את ה-API.
- בהתאם לסוג הנתונים שהשיטה ניגשת אליהם, יוצרים מפתח API (נתונים ציבוריים) או מזהה לקוח ב-OAuth 2.0 (נתונים פרטיים).
- מגדירים את סוג האפליקציה בתור אפליקציה למחשב.
- אם יצרתם מזהה לקוח OAuth 2.0, מורידים את קובץ ה-JSON שמכיל את פרטי הכניסה שלכם ל-OAuth 2.0. שם הקובץ דומה ל-
client_secret_CLIENTID.json, כאשרCLIENTIDהוא מזהה הלקוח של הפרויקט. - מעתיקים את דוגמת הקוד לקובץ מקומי ומשנים את הדוגמה כדי לזהות בצורה נכונה את מפתח ה-API או את קובץ הסודות של הלקוח. בדוגמה, הערך של מפתח ה-API הוא
YOUR_API_KEY, והמיקום של קובץ סודות הלקוח הואYOUR_CLIENT_SECRET_FILE.json.
הפעלת קוד לדוגמה
כדי להריץ את הדוגמה, משתמשים בפקודה הבאה:
ruby sample.rb
רוב הדוגמאות מדפיסות תגובה של API (או משהו אחר) ל-STDOUT.
פתרון בעיות שקשורות לדוגמאות
תיבת הדו-שיח של ההרשאה לא מופיעה
ב-APIs Explorer נעשה שימוש בחלון קופץ כדי להעניק גישה לנתונים הפרטיים שלכם. אם הדפדפן חוסם חלונות קופצים, החלון הקופץ הזה לא יופיע ולא תוכלו להעניק גישה.
אם לוחצים על 'אישור' במסך ההרשאה וכלום לא קורה, צריך לנסות לשנות את הגדרות החלונות הקופצים בדפדפן כדי לאפשר את פתיחתם.
קיבלת שגיאה מסוג 401 או 403
אם אתם מקבלים שגיאה 401 או 403 כשאתם בודקים דוגמה, סביר להניח שהבעיה היא באחד מהדברים הבאים:
- ה-API לא מופעל בפרויקט. קוראים את ההוראות של ממשק ה-API כדי לדעת איך ליצור פרויקט ולהפעיל ממשק API.
- אתם משתמשים בסוג הרשאה שגוי (מפתח API במקום OAuth 2.0).
- אתם משתמשים ב-OAuth 2.0, אבל בהיקף צר מדי.
- כשמגדירים את מפתח ה-API, מגדירים גם הגבלות כדי למנוע שימוש לא מורשה בפרטי הכניסה. עם זאת, הבקשה לא עומדת בהגבלות האלה. מידע נוסף זמין במאמר בנושא שימוש בהגבלות על מפתחות API.
קיבלת אזהרה לגבי תוכן מעורב
אם אתם משתמשים ב-Google Cloud Endpoints ומפעילים את נקודת הקצה בשרת פיתוח, יכול להיות שבדפדפן תוצג אזהרה לגבי תוכן מעורב. האזהרה הזו מופיעה כי API 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 לא נקרא עד שטעינת ספריית הלקוח מסתיימת.