เริ่มต้นใช้งานไลบรารี Python ของ Google Data

Jeffrey Scudder, ทีม Google Data APIs
สิงหาคม 2007

บทนำ

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

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

การติดตั้ง Python

หากคุณจะพัฒนาด้วยไลบรารีของไคลเอ็นต์ Python คุณจะต้องมี Python เวอร์ชัน 2.2 ขึ้นไปที่ใช้งานได้ ระบบปฏิบัติการหลายระบบมี Python เวอร์ชัน รวมอยู่ด้วย คุณจึงอาจข้ามขั้นตอนการติดตั้งได้ หากต้องการดูว่าคุณใช้ Python เวอร์ชันใดอยู่ ให้เรียกใช้ python -V ใน เทอร์มินัลบรรทัดคำสั่ง (หมายเหตุ: V เป็นตัวพิมพ์ใหญ่) ซึ่งควรมีลักษณะดังนี้

Python 2.4.3

หากเห็นเวอร์ชัน 2.2 ขึ้นไป คุณก็เริ่มติดตั้งการอ้างอิงได้ หรือดูวิธีการติดตั้ง/อัปเกรด สำหรับระบบปฏิบัติการของคุณได้ที่ด้านล่าง

การติดตั้ง Python ใน Windows

ใน Windows มีการติดตั้งใช้งาน Python ให้เลือกอยู่หลายแบบ แต่เพื่อวัตถุประสงค์ของคู่มือนี้ ฉันจะใช้โปรแกรมติดตั้ง .msi ที่พบใน python.org

  1. เริ่มต้นด้วยการดาวน์โหลดโปรแกรมติดตั้งจากหน้าดาวน์โหลด Python
  2. เรียกใช้โปรแกรมติดตั้ง - คุณยอมรับการตั้งค่าเริ่มต้นทั้งหมดได้
  3. หากต้องการดูว่าการติดตั้งทำงานตามที่คาดไว้หรือไม่ ให้เปิด Command Prompt แล้วเรียกใช้ python -V

การติดตั้ง Python ใน Mac OS X

รายการดาวน์โหลดใน python.org มีโปรแกรมติดตั้ง .dmg สำหรับผู้ใช้ Mac ขั้นตอนการติดตั้งส่วนขยายมีดังนี้

  1. ไปที่ http://www.python.org/download/mac/
  2. จากหน้านี้ ให้ดาวน์โหลดโปรแกรมติดตั้งสำหรับ Mac OS X เวอร์ชันที่เหมาะสม หมายเหตุ: หน้าการติดตั้ง Python สำหรับ Mac OS X 10.3.8 และต่ำกว่าจะแตกต่างจาก Mac OS X เวอร์ชันใหม่กว่า หากต้องการดูเวอร์ชัน OS X ให้เลือกเกี่ยวกับ Mac เครื่องนี้จากเมนู Apple ที่มุมซ้ายบนของหน้าจอ
  3. หลังจากดาวน์โหลดเสร็จแล้ว ให้ดับเบิลคลิกไฟล์อิมเมจดิสก์ใหม่ (เช่น python-2.5-macosx.dmg) เพื่อติดตั้ง หากคุณใช้ Safari ระบบจะดำเนินการนี้ให้คุณแล้ว
  4. เปิดอิมเมจที่ติดตั้ง แล้วดับเบิลคลิกแพ็กเกจโปรแกรมติดตั้งภายใน
  5. ทำตามวิธีการติดตั้งและอ่านข้อมูลและข้อตกลงการอนุญาตให้ใช้สิทธิตามที่แสดงต่อคุณ การตั้งค่าเริ่มต้นจะใช้งานได้ดีในที่นี้
  6. ยืนยันการติดตั้งโดยเปิด Terminal.app (ใน /Applications/Utilities) แล้วเรียกใช้ python -V เวอร์ชันของการติดตั้งควรปรากฏขึ้น

การติดตั้ง Python ใน Linux

หากต้องการติดตั้งใน Linux และระบบปฏิบัติการอื่นๆ ที่มีรูปแบบ *nix ฉันขอแนะนำให้ดาวน์โหลดซอร์สโค้ดและคอมไพล์ อย่างไรก็ตาม คุณอาจใช้โปรแกรมจัดการแพ็กเกจที่ชื่นชอบเพื่อติดตั้ง Python ได้ (เช่น ใน Ubuntu คุณสามารถทำได้ง่ายๆ โดย เรียกใช้ sudo apt-get install python ในบรรทัดคำสั่ง) หากต้องการติดตั้งจากแหล่งที่มา ให้ทำตามขั้นตอนต่อไปนี้

  1. ดาวน์โหลดไฟล์ tarball ของซอร์สจากหน้าดาวน์โหลด Python
  2. เมื่อดาวน์โหลดแพ็กเกจแล้ว ให้แตกแพ็กเกจโดยใช้บรรทัดคำสั่ง คุณสามารถใช้
    tar zxvf Python-2.<Your version>.tgz
  3. จากนั้น คุณจะต้องคอมไพล์และติดตั้งซอร์สโค้ดสำหรับตัวแปล Python ในไดเรกทอรีที่คลายการบีบอัดแล้ว ให้เรียกใช้ ./configure เพื่อสร้าง Makefile
  4. จากนั้นเรียกใช้ make ซึ่งจะสร้างไฟล์ Python ที่เรียกใช้งานได้ ในไดเรกทอรีในเครื่อง หากไม่มีสิทธิ์รูทหรือเพียงต้องการใช้ Python จากไดเรกทอรีบ้าน คุณก็หยุดได้ที่นี่ คุณจะ เรียกใช้ Python จากไดเรกทอรีนี้ได้ ดังนั้นคุณอาจต้องเพิ่มไดเรกทอรีนี้ลงใน ตัวแปรสภาพแวดล้อม PATH
  5. ฉันต้องการติดตั้ง Python ใน /usr/bin/ ซึ่งเป็นที่ที่สคริปต์ Python ส่วนใหญ่ค้นหาอินเทอร์พรีเตอร์ หากมีสิทธิ์เข้าถึงระดับรูท ให้เรียกใช้ make install ในฐานะรูท ซึ่งจะเป็นการติดตั้ง Python ในตำแหน่งเริ่มต้นและ ทุกคนในเครื่องจะใช้งานได้
  6. ตรวจสอบว่าการติดตั้งทำงานได้ตามที่คาดไว้หรือไม่โดยเปิดเทอร์มินัลแล้วเรียกใช้ python -V

การติดตั้งทรัพยากร Dependency

ปัจจุบันทรัพยากร Dependency ภายนอกมีเพียงไลบรารี XML ชื่อ ElementTree หากใช้ Python เวอร์ชัน 2.5 ขึ้นไป คุณไม่จำเป็นต้องติดตั้ง ElementTree เนื่องจากมาพร้อมกับแพ็กเกจ Python

หากต้องการดูว่าระบบมี ElementTree อยู่แล้วหรือไม่ ให้ทำดังนี้

  1. เรียกใช้อินเทอร์พรีเตอร์ของ Python โดยปกติแล้วฉันจะทำเช่นนี้โดยการเรียกใช้ python ในบรรทัดคำสั่ง
  2. ลองนำเข้าโมดูล ElementTree หากใช้ Python 2.5 ขึ้นไป ให้ป้อนข้อมูลต่อไปนี้ในอินเทอร์พรีเตอร์
    from xml.etree import ElementTree
    สำหรับเวอร์ชันเก่า ให้ป้อนข้อมูลต่อไปนี้
    from elementtree import ElementTree
  3. หากการนำเข้าไม่สำเร็จ คุณจะต้องอ่านส่วนนี้ต่อไป หากใช้งานได้ ให้ข้ามไปที่ส่วน การติดตั้งไลบรารีข้อมูลของ Google
  4. ดาวน์โหลดเวอร์ชันที่เหมาะกับระบบปฏิบัติการของคุณ เช่น หากใช้ Windows ให้ดาวน์โหลด elementtree-1.2.6-20050316.win32.exe สำหรับระบบปฏิบัติการอื่นๆ ฉันขอแนะนำให้ดาวน์โหลดเวอร์ชันที่บีบอัด
  5. หากคุณใช้ไลบรารีเวอร์ชัน .tar.gz หรือ .zip ให้แตกไฟล์ก่อน แล้วจึงติดตั้งโดยเรียกใช้ ./setup.py install

การเรียกใช้ ./setup.py install จะพยายามคอมไพล์ไลบรารีและวางไว้ในไดเรกทอรีของระบบสำหรับโมดูล Python หากไม่มีสิทธิ์เข้าถึงระดับรูท คุณสามารถติดตั้งโมดูลในไดเรกทอรีหน้าแรกหรือตำแหน่งอื่นได้โดยเรียกใช้ ./setup.py install --home=~ ซึ่งจะ วางโค้ดไว้ในไดเรกทอรีหน้าแรก

นอกจากนี้ยังมีอีกตัวเลือกหนึ่งที่หลีกเลี่ยงการติดตั้งโดยสิ้นเชิง เมื่อคลายการบีบอัดไฟล์ที่ดาวน์โหลดแล้ว คุณจะเห็นไดเรกทอรีชื่อ elementtree ไดเรกทอรีนี้มีโมดูลที่คุณจะต้องนำเข้า เมื่อเรียกใช้การนำเข้าจากภายใน Python ระบบจะค้นหาโมดูลที่มีชื่อที่ต้องการในหลายๆ ที่ ระบบจะค้นหาในไดเรกทอรีปัจจุบันเป็นที่แรก ดังนั้นหากคุณเรียกใช้โค้ดจากไดเรกทอรีเดียวเสมอ คุณก็เพียงวางไดเรกทอรี elementtree ไว้ที่นั่น นอกจากนี้ Python ยังจะดูไดเรกทอรีที่ระบุไว้ใน PYTHONPATHตัวแปรสภาพแวดล้อมด้วย ดูวิธีการแก้ไข PYTHONPATH ได้ที่ภาคผนวกท้ายบทความนี้ ฉันขอแนะนำให้ใช้ ./setup.py install สำหรับ elementtree

การติดตั้ง Google Data Library

ดาวน์โหลดไลบรารี Python ของ Google Data หากยังไม่ได้ดาวน์โหลด ค้นหาเวอร์ชันล่าสุดในหน้าดาวน์โหลดของโปรเจ็กต์ Python

หลังจากดาวน์โหลดไลบรารีแล้ว ให้แตกไฟล์โดยใช้ unzip หรือ tar zxvf ทั้งนี้ขึ้นอยู่กับประเภทการดาวน์โหลดที่คุณเลือก

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

  • หากคุณมีสิทธิ์ติดตั้งแพ็กเกจเพื่อให้ผู้ใช้ทุกคนเข้าถึงได้ คุณจะเรียกใช้ ./setup.py install จากไดเรกทอรีหลักของ ที่เก็บถาวรที่ไม่ได้แพ็กได้
  • หากต้องการติดตั้งโมดูลเหล่านี้เพื่อใช้ในไดเรกทอรีบ้าน ให้เรียกใช้ ./setup.py install --home=<your home directory>
  • ในบางกรณี คุณอาจต้องการหลีกเลี่ยงการติดตั้งโมดูลทั้งหมด โดยแก้ไขตัวแปรสภาพแวดล้อม PYTHONPATH ให้มีไดเรกทอรีที่มีไดเรกทอรี gdata และ atom สำหรับไลบรารีไคลเอ็นต์ Python ของ Google Data ดูวิธีการแก้ไข PYTHONPATH, ได้ที่ภาคผนวกท้ายบทความนี้

  • ตัวเลือกสุดท้ายที่ฉันจะพูดถึงคือการคัดลอกไดเรกทอรี gdata และ atom จากไดเรกทอรี src ไปยังไดเรกทอรีใดก็ตามที่คุณอยู่เมื่อเรียกใช้ python Python จะค้นหาในไดเรกทอรีปัจจุบันเมื่อคุณนำเข้า แต่ฉันไม่แนะนำวิธีนี้เว้นแต่คุณจะสร้างอะไรที่รวดเร็วและเรียบง่าย

เมื่อติดตั้งไลบรารีข้อมูลของ Google แล้ว คุณก็พร้อมที่จะทดลองใช้ไลบรารี

การทดสอบและการสุ่มตัวอย่าง

การเผยแพร่ไลบรารีของไคลเอ็นต์ Google Data Python มี กรณีทดสอบบางอย่างที่ใช้ในการพัฒนาไลบรารี นอกจากนี้ยังใช้เป็น การตรวจสอบอย่างรวดเร็วเพื่อให้แน่ใจว่าการติดตั้งทรัพยากร Dependency และไลบรารีทํางานได้ จากไดเรกทอรีระดับบนสุดที่คุณคลายการคัดลอกไลบรารีแล้ว ให้ลองเรียกใช้คำสั่งต่อไปนี้

./tests/run_data_tests.py

หากสคริปต์นี้ทํางานอย่างถูกต้อง คุณควรเห็นเอาต์พุตในบรรทัดคําสั่งดังนี้

Running all tests in module gdata_test
.......
----------------------------------------------------------------------
Ran 7 tests in 0.025s

OK

Running all tests in module atom_test
..........................................
----------------------------------------------------------------------
Ran 42 tests in 0.016s

OK

...

หากไม่เห็นข้อผิดพลาดใดๆ ขณะทดสอบ แสดงว่าคุณอาจตั้งค่าสภาพแวดล้อมอย่างถูกต้องแล้ว ยินดีด้วย

ตอนนี้คุณก็เริ่มเรียกใช้สิ่งที่น่าสนใจมากขึ้นได้แล้ว การจัดจำหน่ายมีไดเรกทอรี samples ซึ่งมีโค้ดที่สามารถเป็น จุดเริ่มต้นในการเขียนแอปพลิเคชันของคุณ หากต้องการลองใช้ตัวอย่างแบบอินเทอร์แอกทีฟอย่างง่าย ให้ลองเรียกใช้ ./samples/docs/docs_example.py ตัวอย่าง Google Documents List API จะแจ้งให้คุณระบุอีเมลและรหัสผ่านสำหรับบัญชี Google หากมีเอกสารหรือสเปรดชีตใน Google เอกสาร คุณจะแสดงรายการได้โดยป้อน 1 สำหรับการดำเนินการที่เลือก (หากไม่มีเอกสารหรือสเปรดชีต คุณจะได้รับข้อผิดพลาด 404)

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

การเขียนตัวอย่าง "Hello World"

มาเริ่มด้วยตัวอย่างง่ายๆ กัน ต่อไปนี้เป็นโปรแกรมสั้นๆ สำหรับพิมพ์รายการเอกสารทั้งหมดในบัญชี Google เอกสาร

import gdata.docs.service

# Create a client class which will make HTTP requests with Google Docs server.
client = gdata.docs.service.DocsService()
# Authenticate using your Google Docs email address and password.
client.ClientLogin('jo@gmail.com', 'password')

# Query the server for an Atom feed containing a list of your documents.
documents_feed = client.GetDocumentListFeed()
# Loop through the feed and extract each document entry.
for document_entry in documents_feed.entry:
  # Display the title of the document on the command line.
  print document_entry.title.text

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

บทสรุป

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

ในขณะที่คุณพัฒนาแอปพลิเคชันต่อไป คุณอาจพบปัญหา หากใช่ โปรดดูรายการแหล่งข้อมูลด้านล่าง

หากคุณคิดว่ามีฟีเจอร์ใหม่ๆ ที่ยอดเยี่ยมสำหรับคลัง (หรือพบข้อบกพร่องโดยบังเอิญ) โปรดป้อนฟีเจอร์หรือข้อบกพร่องนั้นในกลุ่มสนทนา เรายินดีรับฟังความคิดเห็นของคุณเสมอ

ขอให้สนุกกับการเขียนโค้ด :-)

ภาคผนวก: การแก้ไข PYTHONPATH

เมื่อคุณนำเข้าแพ็กเกจหรือโมดูลใน Python ตัวแปลจะค้นหาไฟล์ในตำแหน่งต่างๆ รวมถึงไดเรกทอรีทั้งหมดที่แสดงในตัวแปรสภาพแวดล้อม PYTHONPATH ฉันมักจะแก้ไข PYTHONPATH เพื่อ ชี้ไปยังโมดูลที่ฉันคัดลอกซอร์สโค้ดของไลบรารีที่ฉันใช้ ซึ่งจะช่วยให้ไม่ต้องติดตั้งโมดูล ทุกครั้งที่มีการแก้ไข เนื่องจาก Python จะโหลดโมดูลจากไดเรกทอรีที่มีซอร์สโค้ดที่แก้ไขแล้วโดยตรง

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

ฉันแก้ไข PYTHONPATH ในระบบ *nix และ Mac OS X โดยตั้งค่าในไฟล์การกำหนดค่าเชลล์ .bashrc หากใช้ Bash Shell คุณสามารถตั้งค่าตัวแปรได้โดยเพิ่มบรรทัดต่อไปนี้ลงในไฟล์ ~/.bashrc

export PYTHONPATH=$PYTHONPATH:/home/<my_username>/svn/gdata-python-client/src

จากนั้นคุณจะใช้การเปลี่ยนแปลงเหล่านี้กับเซสชันเชลล์ปัจจุบันได้โดยการเรียกใช้ source ~/.bashrc

สำหรับ Windows XP ให้ดึงตัวแปรสภาพแวดล้อมสำหรับโปรไฟล์ของคุณขึ้นมา: Control Panel > System Properties > Advanced > Environment Variables จากนั้นคุณจะสร้างหรือแก้ไขPYTHONPATHตัวแปร และเพิ่มตำแหน่งของสำเนาในห้องสมุดในพื้นที่ได้