ภาพรวมของแอปบนเดสก์ท็อป

Google Picker API เป็นวิธีที่ช่วยให้ผู้ใช้เลือกหรืออัปโหลดไฟล์ใน Google ไดรฟ์ได้ ผู้ใช้สามารถให้สิทธิ์แก่แอปเดสก์ท็อปของคุณเพื่อเข้าถึงข้อมูลในไดรฟ์ ซึ่งเป็นการมอบวิธีที่ปลอดภัยและได้รับอนุญาตในการโต้ตอบกับไฟล์

Google Picker ทำหน้าที่เป็นกล่องโต้ตอบ "เปิดไฟล์" สำหรับไฟล์ที่จัดเก็บไว้ในไดรฟ์และมีฟีเจอร์หลายอย่าง ดังนี้

  • รูปลักษณ์และฟีเจอร์คล้ายกับ UI ของ Google ไดรฟ์
  • มุมมองต่างๆ ที่แสดงตัวอย่างและภาพขนาดย่อของไฟล์ในไดรฟ์
  • การเปลี่ยนเส้นทางไปยัง Google Picker ในแท็บใหม่ในเบราว์เซอร์เริ่มต้นของผู้ใช้

โปรดทราบว่า Google Picker ไม่อนุญาตให้ผู้ใช้จัดระเบียบ ย้าย หรือคัดลอก ไฟล์จากโฟลเดอร์หนึ่งไปยังอีกโฟลเดอร์หนึ่ง หากต้องการจัดการไฟล์ คุณต้องใช้ Google Drive API หรือ UI ของไดรฟ์

ข้อกำหนดเบื้องต้น

แอปที่ใช้ Google Picker ต้องปฏิบัติตามข้อกำหนดในการให้บริการที่มีอยู่ทั้งหมด ที่สำคัญที่สุดคือคุณต้องระบุตัวตนอย่างถูกต้องในคำขอ

นอกจากนี้ คุณต้องมีโปรเจ็กต์ Google Cloud ด้วย

ตั้งค่าสภาพแวดล้อม

หากต้องการเริ่มใช้ Google Picker API คุณต้องตั้งค่าสภาพแวดล้อม

เปิดใช้ API

ก่อนใช้ Google API คุณต้องเปิดใช้ API ในโปรเจ็กต์ Google Cloud คุณเปิด API อย่างน้อย 1 รายการในโปรเจ็กต์ Google Cloud เดียวได้

สร้างคีย์ API

คีย์ API คือสตริงยาวที่มีตัวอักษรพิมพ์ใหญ่และพิมพ์เล็ก ตัวเลข ขีดล่าง และขีดกลาง เช่น AIzaSyDaGmWKa4JsXZ-HjGw7ISLn_3namBGewQe วิธีการตรวจสอบสิทธิ์นี้ใช้เพื่อเข้าถึงข้อมูลที่เปิดเผยต่อสาธารณะโดยไม่ระบุตัวตน เช่น ไฟล์ Google Workspace ที่แชร์โดยใช้การตั้งค่าการแชร์ "ทุกคนบนอินเทอร์เน็ต ที่มีลิงก์นี้" โปรดดูรายละเอียดเพิ่มเติมที่หัวข้อจัดการคีย์ API

วิธีสร้างคีย์ API

  1. ในคอนโซล Google Cloud ให้ไปที่เมนู > API และบริการ > ข้อมูลเข้าสู่ระบบ

    ไปที่ข้อมูลเข้าสู่ระบบ

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

ให้สิทธิ์ข้อมูลเข้าสู่ระบบสำหรับแอปบนเดสก์ท็อป

หากต้องการตรวจสอบสิทธิ์ผู้ใช้ปลายทางและเข้าถึงข้อมูลผู้ใช้ในแอป คุณต้อง สร้างรหัสไคลเอ็นต์ OAuth 2.0 อย่างน้อย 1 รายการ รหัสไคลเอ็นต์ใช้เพื่อระบุแอปเดี่ยวไปยังเซิร์ฟเวอร์ OAuth ของ Google หากแอปทำงานบนหลายแพลตฟอร์ม คุณต้องสร้างรหัสไคลเอ็นต์แยกต่างหากสำหรับแต่ละแพลตฟอร์ม
  1. ในคอนโซล Google Cloud ให้ไปที่เมนู > Google Auth platform > ไคลเอ็นต์

    ไปที่ลูกค้า

  2. คลิกสร้างไคลเอ็นต์
  3. คลิกประเภทแอปพลิเคชัน > แอปเดสก์ท็อป
  4. ในช่องชื่อ ให้พิมพ์ชื่อของข้อมูลเข้าสู่ระบบ ชื่อนี้จะแสดงในคอนโซล Google Cloud เท่านั้น
  5. คลิกสร้าง

    ข้อมูลเข้าสู่ระบบที่สร้างขึ้นใหม่จะปรากฏในส่วน "รหัสไคลเอ็นต์ OAuth 2.0"

หากต้องการให้แอปได้รับสิทธิ์เข้าถึงไฟล์ที่เคยให้ไว้ คุณต้องทำตามขั้นตอนต่อไปนี้

  1. คุณต้องขอโทเค็น OAuth 2.0 ที่มีขอบเขต drive.file, drive หรือ drive.readonly โดยใช้คำสั่งเหล่านี้: การใช้ OAuth 2.0 เพื่อเข้าถึง Google APIs ดูข้อมูลเพิ่มเติมเกี่ยวกับขอบเขตได้ที่เลือกขอบเขต Google Drive API

  2. ส่งโทเค็น OAuth 2.0 ไปยัง Drive API เพื่ออ่านและแก้ไขไฟล์ ที่ผู้ใช้เคยให้สิทธิ์เข้าถึงไว้ก่อนหน้านี้

แสดง Google Picker

API เครื่องมือเลือกของ Google สำหรับแอปบนเดสก์ท็อปจะเปลี่ยนเส้นทางไปยังเครื่องมือเลือกของ Google ภายใน แท็บใหม่ในเบราว์เซอร์เริ่มต้นของผู้ใช้ เมื่อผู้ใช้ให้สิทธิ์เข้าถึงและเลือกไฟล์ที่เกี่ยวข้องแล้ว Google Picker จะกลับไปยังแอปที่เรียกใช้ผ่าน URL เรียกกลับ หากต้องการให้ Google Picker API เปิดในหน้าไคลเอ็นต์ ให้ใช้ Google Picker API สำหรับเว็บแอปแทน ดูข้อมูลเพิ่มเติมได้ที่ภาพรวมของเว็บแอป

หากต้องการอนุญาตให้ผู้ใช้ให้สิทธิ์เข้าถึงไฟล์เพิ่มเติมหรือเลือกไฟล์เพื่อใช้ใน ขั้นตอนของแอปบนเดสก์ท็อป ให้ทำตามขั้นตอนต่อไปนี้

  1. ขอสิทธิ์เข้าถึงขอบเขต drive.file เพื่อเปิดหน้าการเข้าถึง OAuth 2.0 ในแท็บเบราว์เซอร์ใหม่โดยใช้คำสั่งการใช้ OAuth 2.0 เพื่อเข้าถึง Google API ดูข้อมูลเพิ่มเติมเกี่ยวกับขอบเขตได้ที่เลือกขอบเขต Google Drive API

    โปรดทราบว่าอนุญาตให้ใช้ขอบเขต drive.file สำหรับแอปเดสก์ท็อปเท่านั้น และไม่สามารถใช้ร่วมกับขอบเขตอื่นๆ ได้

  2. URL สำหรับแท็บเบราว์เซอร์ใหม่ยอมรับพารามิเตอร์สตริงการค้นหา OAuth มาตรฐานทั้งหมด

    คุณต้องต่อท้ายพารามิเตอร์ URL prompt และ trigger_onepick กับคำขอ URL การให้สิทธิ์ OAuth 2.0 นอกจากนี้ คุณยังปรับแต่ง เครื่องมือเลือกของ Google ได้ด้วยพารามิเตอร์ที่ไม่บังคับหลายรายการ ดังนี้

    พารามิเตอร์ คำอธิบาย สถานะ
    prompt=consent แจ้งให้ขอสิทธิ์เข้าถึงไฟล์ ต้องระบุ
    trigger_onepick=true เปิดใช้เครื่องมือเลือกของ Google ต้องระบุ
    allow_multiple=true หากเป็นจริง ให้ผู้ใช้เลือกหลายไฟล์ได้ ไม่บังคับ
    mimetypes=MIMETYPES รายการประเภท MIME ที่คั่นด้วยคอมมาเพื่อกรองผลการค้นหา หากไม่ได้ตั้งค่า ระบบจะแสดงไฟล์สำหรับ MIME ทุกประเภทในมุมมอง ไม่บังคับ
    file_ids=FILE_IDS รายการรหัสไฟล์ที่คั่นด้วยคอมมาเพื่อกรองผลการค้นหา หากไม่ได้ตั้งค่าไว้ ระบบจะแสดงไฟล์ทั้งหมดในมุมมอง ไม่บังคับ

    ตัวอย่างต่อไปนี้แสดงคำขอ URL การให้สิทธิ์ OAuth 2.0

    https://accounts.google.com/o/oauth2/v2/auth? \
    client_id=CLIENT_ID \
    &scope=https://www.googleapis.com/auth/drive.file \
    &redirect_uri=REDIRECT_URI \
    &response_type=code \
    &access_type=offline \
    &prompt=consent \
    &trigger_onepick=true
    

    แทนที่ค่าต่อไปนี้

    • CLIENT_ID: รหัสไคลเอ็นต์ของแอปบนเดสก์ท็อป

    • REDIRECT_URI: ตำแหน่งที่เซิร์ฟเวอร์การให้สิทธิ์ เปลี่ยนเส้นทางเบราว์เซอร์ของผู้ใช้หลังจากตรวจสอบสิทธิ์สำเร็จ เช่น https://www.cymbalgroup.com/oauth2callback

      redirect_uri ที่ระบุต้องเป็น HTTPS URL สาธารณะ หากต้องการใช้ โปรโตคอลที่กำหนดเองหรือ URL ของ localhost สำหรับ redirect_uri คุณต้องใช้ HTTPS URL สาธารณะที่เปลี่ยนเส้นทางไปยังโปรโตคอลที่กำหนดเองหรือ URL ของ localhost

  3. เมื่อผู้ใช้ให้สิทธิ์เข้าถึงและเลือกไฟล์ที่เกี่ยวข้องแล้ว OAuth จะเปลี่ยนเส้นทางไปยัง redirect_uri ที่ระบุไว้ในคำขอพร้อมพารามิเตอร์ URL ต่อไปนี้

    • picked_file_ids: หากผู้ใช้ให้สิทธิ์เข้าถึงและเลือกไฟล์ รายการรหัสไฟล์ที่เลือกซึ่งคั่นด้วยคอมมา

    • code: โทเค็นเพื่อการเข้าถึงหรือรหัสเพื่อการเข้าถึงตามresponse_type พารามิเตอร์ที่ตั้งค่าไว้ในคำขอ พารามิเตอร์นี้มีรหัสการให้สิทธิ์ใหม่

    • scope: ขอบเขตที่รวมอยู่ในคำขอ

    • error: หากผู้ใช้ยกเลิกคำขอภายในโฟลว์ความยินยอม ระบบจะแสดงข้อผิดพลาด

    ตัวอย่างต่อไปนี้แสดงการตอบกลับ URL การให้สิทธิ์ OAuth 2.0

    https://REDIRECT_URI?picked_file_ids=PICKED_FILE_IDS&code=CODE&scope=SCOPES
    
  4. แอปต้องแลกรหัสการให้สิทธิ์จากขั้นตอนที่ 3 เป็นโทเค็น OAuth 2.0 ใหม่ ดูข้อมูลเพิ่มเติมได้ที่เปลี่ยนรหัสการให้สิทธิ์เป็นโทเค็นรีเฟรช และโทเค็นการเข้าถึง

  5. จากนั้นแอปจะใช้รหัสไฟล์จากพารามิเตอร์ URL ในขั้นตอนที่ 3 และโทเค็น OAuth 2.0 ที่ได้รับในขั้นตอนที่ 4 เพื่อเรียกใช้ Drive API ได้ โปรดดูข้อมูลเพิ่มเติมที่ภาพรวมของ Google Drive API