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

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

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

โดยค่าเริ่มต้น โปรแกรมสำรวจ API จะแสดงวิธีใช้ 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 สําหรับแอปพลิเคชันเว็บ และใช้ https://developers.google.com/oauthplayground เป็น URI การเปลี่ยนเส้นทาง
  4. ใน OAuth 2.0 Playground ให้คลิกการกำหนดค่า OAuth 2.0
  5. เลือกใช้ข้อมูลเข้าสู่ระบบของคุณเอง
  6. ป้อนรหัสไคลเอ็นต์และรหัสลับไคลเอ็นต์ที่สร้างไว้ในขั้นตอนที่ 3
  7. ในช่องขอบเขต ให้พิมพ์ขอบเขตที่จะใช้กับเมธอด แล้วคลิกให้สิทธิ์ API
  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. ในคอนโซลระบบคลาวด์ ให้สร้างข้อมูลเข้าสู่ระบบรหัสไคลเอ็นต์ 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 API ที่รองรับ ลิงก์เวอร์ชันจะไปยัง GitHub ชื่อ API จะอยู่ตรงกลางด้านบนของหน้าและมี googleapis/google-apis-services- นำหน้า ตัวอย่างเช่น สำหรับ v3 ของ Drive API API_NAME คือ drive
  • API_VERSION คือเวอร์ชัน API ที่แสดงสำหรับ API ใต้ชื่อ API ในหน้า Google API ที่รองรับ
  • REVISION คือหมายเลขการแก้ไขที่แสดงในข้อมูลอ้างอิง JavaDoc สำหรับ API ดูข้อมูลอ้างอิงของ JavaDoc ได้ที่ https://googleapis.dev/java/google-api-services-API_NAME/latest/index.html
  • CL_VERSION คือเวอร์ชันไลบรารีของไคลเอ็นต์ ค่านี้จะปรากฏในข้อมูลอ้างอิง JavaDoc ด้วย
  • จากไดเรกทอรีทํางาน ให้คัดลอกตัวอย่างโค้ดจากโปรแกรมสํารวจ API ไปยัง 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 API สำหรับ 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 ใช้ป๊อปอัปเพื่อให้สิทธิ์เข้าถึงข้อมูลส่วนตัวของคุณ หากเบราว์เซอร์บล็อกป๊อปอัป ป๊อปอัปนี้จะไม่ปรากฏขึ้นและคุณจะให้สิทธิ์เข้าถึงไม่ได้

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

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

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

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

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

หากคุณใช้ปลายทาง Google Cloud และเรียกใช้ปลายทางในเซิร์ฟเวอร์สำหรับนักพัฒนาซอฟต์แวร์ เบราว์เซอร์อาจแสดงคำเตือนเกี่ยวกับเนื้อหาแบบผสม คําเตือนนี้เกิดขึ้นเนื่องจากมีการโหลดโปรแกรมสํารวจ API ผ่าน HTTPS แต่เมื่อ API ทำงานในเครื่อง ระบบจะโฮสต์ API บน HTTP

หากต้องการซ่อนคำเตือนนี้โดยใช้ Chrome ให้เริ่มเซสชัน Chrome ด้วย Flag พิเศษ ดังนี้

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 จะไม่เรียกใช้จนกว่าจะโหลดไลบรารีไคลเอ็นต์แล้ว