เรียกใช้ตัวอย่างโค้ด

โปรแกรมสำรวจ Google APIs จะสร้างตัวอย่างโค้ดแบบไดนามิก ตัวอย่างโค้ดเหล่านี้ออกแบบมาเพื่อให้คัดลอกและเรียกใช้ในเครื่องได้ หากต้องการดูตัวอย่าง ให้คลิก เต็มหน้าจอ ในแผงด้านข้างของโปรแกรมสำรวจ APIs รูปภาพด้านล่างแสดงโปรแกรมสำรวจ APIs แบบเต็มหน้าจอแบบขยาย

แผงแบบเต็มหน้าจอของโปรแกรมสำรวจ API สำหรับ Google Books API
รูปภาพที่ 2: แผงแบบเต็มหน้าจอของโปรแกรมสำรวจ APIs สำหรับ Google Books API

โดยค่าเริ่มต้น โปรแกรมสำรวจ APIs จะแสดงวิธีใช้ cURL เพื่อเรียกใช้คำขอ นอกจากนี้ API บางรายการอาจแสดงตัวอย่างสำหรับภาษาอื่นๆ เช่น JavaScript, Java และ Python

เรียกใช้ตัวอย่างโค้ดในเครื่อง

แท็บต่อไปนี้จะอธิบายข้อกำหนดเบื้องต้นและขั้นตอนในการเรียกใช้ตัวอย่างโค้ด หากต้องการเรียกใช้ตัวอย่างโค้ด คุณต้องสร้างและใช้ข้อมูลเข้าสู่ระบบการให้สิทธิ์ของคุณเอง โปรดดูเอกสารประกอบของ Google API ที่เฉพาะเจาะจงเพื่อดูคำอธิบายเกี่ยวกับวิธีสร้างโปรเจ็กต์และสร้างข้อมูลเข้าสู่ระบบ

ข้อมูลเข้าสู่ระบบจะเป็นอย่างใดอย่างหนึ่งต่อไปนี้ โดยขึ้นอยู่กับประเภทข้อมูล (สาธารณะหรือส่วนตัว) ที่เมธอดเข้าถึง

  • สำหรับข้อมูลสาธารณะ ข้อมูลเข้าสู่ระบบคือคีย์ API
  • สำหรับข้อมูลส่วนตัว ข้อมูลเข้าสู่ระบบจะเป็นไฟล์ client_secret.json ที่มีรหัสไคลเอ็นต์และรหัสลับไคลเอ็นต์ OAuth 2.0 หรือโทเค็นเพื่อการเข้าถึง OAuth 2.0

cURL

ตั้งค่า

  1. ทำตามวิธีการในเอกสารประกอบของ API เพื่อสร้างหรือเลือกโปรเจ็กต์สำหรับแอปและเปิดใช้ API
  2. สร้างคีย์ API ใน Cloud Console
  3. สร้างข้อมูลเข้าสู่ระบบรหัสไคลเอ็นต์ OAuth สำหรับเว็บแอปพลิเคชันใน Cloud Console และใช้ https://developers.google.com/oauthplayground เป็น URI การเปลี่ยนเส้นทาง
  4. ใน OAuth 2.0 Playground, คลิก การกำหนดค่า OAuth 2.0 .
  5. เลือกใช้ข้อมูลเข้าสู่ระบบของคุณเอง
  6. ป้อนรหัสไคลเอ็นต์และรหัสลับไคลเอ็นต์ที่สร้างในขั้นตอนที่ 3
  7. ในช่องขอบเขต ให้พิมพ์ขอบเขตที่จะใช้กับเมธอด แล้วคลิกให้สิทธิ์ APIs
  8. (ไม่บังคับ) หากเห็นหน้าจอลงชื่อเข้าใช้ ให้เลือกบัญชีที่จะใช้
  9. (ไม่บังคับ) หากเห็นหน้าจอการให้สิทธิ์ ให้คลิกยอมรับ
  10. คลิกเปลี่ยนรหัสการให้สิทธิ์ของโทเค็น ระบบจะแสดงโทเค็น
  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 Console
  3. ใน Cloud Console ให้สร้างข้อมูลเข้าสู่ระบบรหัสไคลเอ็นต์ 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 หากต้องการค้นหา ชื่อ ให้คลิกลิงก์เวอร์ชันข้าง API ในหน้า Google APIs ที่รองรับ ลิงก์เวอร์ชันจะนำทางไปยัง GitHub ชื่อ API จะอยู่ตรงกลางด้านบนของหน้าและขึ้นต้นด้วย googleapis/google-apis-services- เช่น สำหรับ Drive API เวอร์ชัน v3 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 ไปยัง 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
  • เครื่องมือการจัดการทรัพยากร Dependency ของ 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

แก้ปัญหาเกี่ยวกับตัวอย่าง

กล่องโต้ตอบการให้สิทธิ์ไม่ปรากฏขึ้น

โปรแกรมสำรวจ APIs ใช้ป๊อปอัปเพื่อให้สิทธิ์เข้าถึงข้อมูลส่วนตัวของคุณ หากเบราว์เซอร์บล็อกป๊อปอัป ป๊อปอัปนี้จะไม่ปรากฏขึ้นและคุณจะให้สิทธิ์เข้าถึงไม่ได้

หากคุณคลิก "อนุญาต" ในหน้าจอการให้สิทธิ์แล้วไม่มีอะไรเกิดขึ้น ให้ลองเปลี่ยนการตั้งค่าป๊อปอัปของเบราว์เซอร์เพื่อเปิดใช้ป๊อปอัป

ได้รับข้อผิดพลาด 401 หรือ 403

หากคุณได้รับข้อผิดพลาด 401 หรือ 403 เมื่อทดสอบตัวอย่าง ปัญหาน่าจะเกิดจากสาเหตุใดสาเหตุหนึ่งต่อไปนี้

  • ไม่ได้เปิดใช้ API สำหรับโปรเจ็กต์ โปรดอ่านวิธีการสำหรับ API ของคุณเกี่ยวกับวิธีสร้างโปรเจ็กต์และเปิดใช้ API
  • คุณใช้การให้สิทธิ์ประเภทที่ไม่ถูกต้อง (คีย์ API แทน OAuth 2.0)
  • คุณใช้ OAuth 2.0 แต่มีขอบเขตที่แคบเกินไป
  • เมื่อตั้งค่าคีย์ API คุณได้ตั้งค่าข้อจำกัดเพื่อป้องกันการใช้ข้อมูลเข้าสู่ระบบโดยไม่ได้รับอนุญาต อย่างไรก็ตาม คำขอไม่เป็นไปตามข้อจำกัดเหล่านั้น โปรดดูข้อมูลเพิ่มเติมที่ หัวข้อการใช้ข้อจำกัดคีย์ API

ได้รับคำเตือนเกี่ยวกับเนื้อหาผสม

หากคุณใช้ Google Cloud Endpoints และเรียกใช้ปลายทางใน เซิร์ฟเวอร์การพัฒนา, เบราว์เซอร์อาจแสดงคำเตือนเกี่ยวกับเนื้อหาผสม คำเตือนนี้เกิดขึ้นเนื่องจากโปรแกรมสำรวจ APIs โหลดผ่าน HTTPS แต่เมื่อ API ทำงานในเครื่อง ระบบจะโฮสต์ 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" เกิดขึ้นเมื่อโค้ด JavaScript พยายามเรียกใช้ไลบรารีของไคลเอ็นต์ Google APIs สำหรับ JavaScript ก่อนที่ไลบรารีจะโหลด ตรวจสอบว่าโค้ดที่อ้างอิงตัวแปร gapi จะไม่ถูกเรียกใช้จนกว่าไลบรารีของไคลเอ็นต์จะโหลดแล้ว