Bắt đầu sử dụng Thư viện Google Data Python

Jeffrey Scudder, Nhóm API dữ liệu của Google
Tháng 8 năm 2007

Giới thiệu

Vậy là bạn đã quyết định sử dụng Thư viện ứng dụng Google Data Python để viết một ứng dụng bằng một trong nhiều dịch vụ Google Data. Lựa chọn tuyệt vời! Mục tiêu của tôi trong hướng dẫn ngắn này là giúp bạn nhanh chóng bắt đầu sử dụng thư viện ứng dụng để phát triển ứng dụng của mình.

Có lẽ bạn muốn bắt tay ngay vào việc tạo ứng dụng của mình. Tuy nhiên, trước tiên, bạn có thể cần định cấu hình môi trường phát triển và thiết lập các công cụ cần thiết để chạy các mô-đun có trong thư viện ứng dụng. Hãy làm theo các bước bên dưới và bạn sẽ chạy được mã ngay lập tức.

Cài đặt Python

Nếu sẽ phát triển bằng thư viện ứng dụng Python, bạn cần có phiên bản Python 2.2 trở lên đang hoạt động. Nhiều hệ điều hành có sẵn một phiên bản Python, vì vậy, bạn có thể bỏ qua bước cài đặt. Để xem bạn đang dùng phiên bản Python nào, hãy chạy python -V trong một cửa sổ dòng lệnh. (Lưu ý: V là chữ hoa.) Điều này sẽ dẫn đến kết quả như sau:

Python 2.4.3

Nếu thấy phiên bản 2.2 trở lên, thì bạn có thể bắt đầu cài đặt các phần phụ thuộc. Nếu không, hãy xem bên dưới để tìm hướng dẫn cài đặt/nâng cấp cho hệ điều hành của bạn.

Cài đặt Python trên Windows

Có khá nhiều bản triển khai Python để bạn lựa chọn trong Windows, nhưng cho mục đích của hướng dẫn này, tôi sẽ sử dụng trình cài đặt .msi có trên python.org.

  1. Bắt đầu bằng cách tải trình cài đặt xuống từ trang tải xuống Python.
  2. Chạy trình cài đặt – bạn có thể chấp nhận tất cả các chế độ cài đặt mặc định
  3. Để xem quá trình cài đặt có hoạt động như dự kiến hay không, hãy mở một dấu nhắc lệnh rồi chạy python -V.

Cài đặt Python trên Mac OS X

Danh sách tải xuống trên python.org có trình cài đặt .dmg cho người dùng Mac. Sau đây là các bước để cài đặt một trong số các tiện ích đó:

  1. Truy cập vào http://www.python.org/download/mac/
  2. Trên trang này, hãy tải trình cài đặt cho phiên bản Mac OS X phù hợp xuống. Lưu ý: Trang cài đặt Python cho Mac OS X 10.3.8 trở xuống khác với các phiên bản Mac OS X mới hơn. Để tìm phiên bản OS X, hãy chọn Giới thiệu về máy Mac này trong trình đơn Apple ở góc trên cùng bên trái màn hình.
  3. Sau khi tải xuống xong, hãy nhấp đúp vào tệp hình ảnh đĩa mới (ví dụ: python-2.5-macosx.dmg) để gắn tệp đó. Nếu bạn đang chạy Safari, thì bước này đã được thực hiện cho bạn.
  4. Mở hình ảnh đã gắn kết và nhấp đúp vào gói trình cài đặt bên trong.
  5. Làm theo hướng dẫn cài đặt và đọc thông tin cũng như thoả thuận cấp phép khi chúng xuất hiện. Một lần nữa, chế độ cài đặt mặc định sẽ hoạt động tốt ở đây.
  6. Xác minh quá trình cài đặt bằng cách mở Terminal.app (trong /Applications/Utilities) và chạy python -V. Phiên bản của bản cài đặt sẽ xuất hiện.

Cài đặt Python trên Linux

Để cài đặt trên Linux và các hệ điều hành kiểu *nix khác, tôi thích tải mã nguồn xuống và biên dịch mã nguồn đó. Tuy nhiên, bạn có thể sử dụng trình quản lý gói mà mình yêu thích để cài đặt Python. (Ví dụ: trên Ubuntu, bạn có thể dễ dàng chạy sudo apt-get install python trên dòng lệnh.) Để cài đặt từ nguồn, hãy làm theo các bước sau:

  1. Tải gói tar nguồn xuống từ trang tải xuống Python.
  2. Sau khi tải gói xuống, hãy giải nén gói đó bằng dòng lệnh. Bạn có thể sử dụng các
    tar zxvf Python-2.<Your version>.tgz
  3. Tiếp theo, bạn sẽ cần biên dịch và cài đặt mã nguồn cho trình thông dịch Python. Trong thư mục đã giải nén, hãy chạy ./configure để tạo một tệp makefile.
  4. Sau đó, hãy chạy make. Thao tác này sẽ tạo một tệp thực thi Python đang hoạt động trong thư mục cục bộ. Nếu không có quyền truy cập vào thư mục gốc hoặc chỉ muốn dùng Python trong thư mục chính, bạn có thể dừng tại đây. Bạn sẽ có thể chạy Python từ thư mục này, vì vậy, bạn có thể muốn thêm thư mục này vào biến môi trường PATH.
  5. Tôi muốn cài đặt Python trong /usr/bin/, nơi hầu hết các tập lệnh Python tìm kiếm trình thông dịch. Nếu bạn có quyền truy cập vào thư mục gốc, hãy chạy make install dưới dạng thư mục gốc. Thao tác này sẽ cài đặt Python ở vị trí mặc định và mọi người trên máy của bạn đều có thể sử dụng.
  6. Kiểm tra xem quá trình cài đặt có hoạt động như dự kiến hay không bằng cách mở một cửa sổ dòng lệnh rồi chạy python -V.

Cài đặt các phần phụ thuộc

Hiện tại, phần phụ thuộc bên ngoài duy nhất là một thư viện XML có tên là ElementTree. Nếu đang dùng Python phiên bản 2.5 trở lên, bạn sẽ không cần cài đặt ElementTree vì phiên bản này đi kèm với gói Python.

Để kiểm tra xem ElementTree đã có trên hệ thống của bạn hay chưa, hãy làm như sau:

  1. Chạy trình thông dịch Python. Tôi thường thực hiện việc này bằng cách thực thi python trên dòng lệnh.
  2. Hãy thử nhập mô-đun ElementTree. Nếu bạn đang sử dụng Python 2.5 trở lên, hãy nhập nội dung sau vào trình thông dịch:
    from xml.etree import ElementTree
    Đối với các phiên bản cũ, hãy nhập:
    from elementtree import ElementTree
  3. Nếu quá trình nhập không thành công, bạn cần tiếp tục đọc phần này. Nếu thành công, bạn có thể chuyển sang phần Cài đặt thư viện Dữ liệu của Google.
  4. Tải một phiên bản phù hợp với hệ điều hành của bạn. Ví dụ: nếu bạn đang sử dụng Windows, hãy tải elementtree-1.2.6-20050316.win32.exe xuống. Đối với các hệ điều hành khác, bạn nên tải phiên bản nén xuống.
  5. Nếu bạn đang sử dụng phiên bản .tar.gz hoặc .zip của thư viện, trước tiên hãy giải nén, sau đó cài đặt bằng cách chạy ./setup.py install.

Việc chạy ./setup.py install sẽ cố gắng biên dịch thư viện và đặt thư viện đó vào thư mục hệ thống cho các mô-đun Python của bạn. Nếu không có quyền truy cập vào thư mục gốc, bạn có thể cài đặt các mô-đun trong thư mục chính hoặc một vị trí thay thế bằng cách chạy ./setup.py install --home=~. Thao tác này sẽ đặt mã trong thư mục chính của bạn.

Có một lựa chọn khác là không cài đặt hoàn toàn. Sau khi giải nén nội dung tải xuống, bạn sẽ thấy một thư mục có tên là elementtree. Thư mục này chứa các mô-đun mà bạn sẽ cần nhập. Khi bạn gọi lệnh nhập từ bên trong Python, lệnh này sẽ tìm kiếm một mô-đun có tên mong muốn ở một số vị trí. Nơi đầu tiên mà nó tìm kiếm là trong thư mục hiện tại, vì vậy, nếu luôn chạy mã từ một thư mục, bạn chỉ cần đặt thư mục elementtree ở đó. Python cũng sẽ xem xét các thư mục có trong biến môi trường PYTHONPATH. Để biết hướng dẫn về cách chỉnh sửa PYTHONPATH, hãy xem Phụ lục ở cuối bài viết này. Tôi khuyên bạn nên sử dụng ./setup.py install cho elementtree.

Cài đặt Thư viện dữ liệu của Google

Tải thư viện Google Data Python xuống nếu bạn chưa làm việc này. Tìm phiên bản mới nhất trên trang tải xuống của dự án Python.

Sau khi tải thư viện xuống, hãy giải nén thư viện bằng unzip hoặc tar zxvf, tuỳ thuộc vào loại nội dung tải xuống mà bạn chọn.

Giờ đây, bạn đã sẵn sàng cài đặt các mô-đun thư viện để có thể nhập chúng vào Python. Bạn có thể làm việc này bằng một số cách như sau:

  • Nếu có thể cài đặt các gói để tất cả người dùng truy cập, bạn có thể chạy ./setup.py install từ thư mục chính của kho lưu trữ đã giải nén.
  • Nếu muốn cài đặt các mô-đun này để sử dụng trong thư mục chính, bạn có thể chạy ./setup.py install --home=<your home directory>.
  • Trong một số trường hợp, bạn muốn tránh cài đặt hoàn toàn các mô-đun. Để làm như vậy, hãy sửa đổi biến môi trường PYTHONPATH để thêm một thư mục chứa các thư mục gdataatom cho thư viện ứng dụng Google Data Python. Để biết hướng dẫn về cách sửa đổi PYTHONPATH, hãy xem Phụ lục ở cuối bài viết này.

  • Một lựa chọn cuối cùng mà tôi sẽ đề cập đến là sao chép các thư mục gdataatom từ thư mục src vào bất kỳ thư mục nào bạn đang ở khi thực thi python. Python sẽ tìm trong thư mục hiện tại khi bạn nhập, nhưng tôi không khuyến khích phương pháp này trừ phi bạn đang tạo một thứ gì đó nhanh chóng và đơn giản.

Sau khi cài đặt thư viện Dữ liệu của Google, bạn có thể dùng thử thư viện này.

Chạy các bài kiểm thử và mẫu

Các bản phân phối thư viện ứng dụng Google Data Python bao gồm một số trường hợp kiểm thử được dùng trong quá trình phát triển thư viện. Chúng cũng có thể đóng vai trò là một bước kiểm tra nhanh để đảm bảo rằng các phần phụ thuộc và quá trình cài đặt thư viện của bạn đang hoạt động. Từ thư mục cấp cao nhất nơi bạn đã giải nén bản sao của thư viện, hãy thử chạy:

./tests/run_data_tests.py

Nếu tập lệnh này chạy đúng cách, bạn sẽ thấy kết quả trên dòng lệnh như sau:

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

...

Nếu không thấy lỗi nào khi các kiểm thử thực thi, thì có thể bạn đã thiết lập môi trường đúng cách. Xin chúc mừng!

Giờ đây, bạn có thể bắt đầu chạy một thứ gì đó thú vị hơn. Bản phân phối chứa một thư mục samples chứa mã có thể cung cấp điểm bắt đầu để viết ứng dụng của bạn. Nếu bạn muốn dùng thử một mẫu tương tác đơn giản, hãy thử chạy ./samples/docs/docs_example.py. Mẫu Google Documents List API sẽ nhắc bạn nhập địa chỉ email và mật khẩu cho Tài khoản Google của bạn. Nếu có bất kỳ tài liệu hoặc bảng tính nào trong Google Tài liệu, bạn có thể liệt kê chúng bằng cách nhập 1 cho thao tác đã chọn. (Nếu không có tài liệu hoặc bảng tính nào, bạn sẽ gặp lỗi 404.)

Nếu bạn quan tâm đến một Dịch vụ dữ liệu cụ thể của Google, hãy xem mẫu của dịch vụ đó để nắm được ý tưởng cơ bản về cách bạn có thể sử dụng thư viện này. Hầu hết các tính năng đều được minh hoạ trong mã mẫu, nhưng không phải tất cả. Vì vậy, bạn nên xem tài liệu về dịch vụ mà bạn dự định sử dụng để hiểu rõ những việc bạn có thể làm với API này.

Viết ví dụ "Hello World"

Hãy bắt đầu bằng một ví dụ đơn giản. Sau đây là một chương trình ngắn để in danh sách tất cả các tài liệu trong tài khoản Google Tài liệu của bạn:

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

Bạn có thể lưu đoạn mã trên dưới dạng một tệp rồi chạy tệp đó, hoặc dán mã vào trình thông dịch Python để xem thư viện ứng dụng Google Data Python hoạt động.

Kết luận

Giờ đây, sau khi cài đặt và kiểm thử thư viện ứng dụng Google Data Python, bạn đã sẵn sàng bắt đầu viết ứng dụng tuyệt vời tiếp theo bằng cách sử dụng:

Khi tiếp tục phát triển ứng dụng, bạn có thể gặp phải một vấn đề. Nếu có, vui lòng xem danh sách tài nguyên bên dưới:

Nếu bạn nghĩ ra một tính năng mới hay cho thư viện (hoặc vô tình tìm thấy một lỗi), vui lòng nhập tính năng đó vào nhóm thảo luận. Chúng tôi luôn mong nhận được ý kiến phản hồi của bạn!

Chúc bạn lập trình vui vẻ :-)

Phụ lục: Sửa đổi PYTHONPATH

Khi bạn nhập một gói hoặc mô-đun trong Python, trình thông dịch sẽ tìm tệp ở một loạt vị trí, bao gồm tất cả các thư mục được liệt kê trong biến môi trường PYTHONPATH. Tôi thường sửa đổi PYTHONPATH để trỏ đến các mô-đun nơi tôi đã sao chép mã nguồn cho một thư viện mà tôi đang sử dụng. Điều này giúp bạn không cần cài đặt mô-đun mỗi khi mô-đun đó được sửa đổi, vì Python sẽ tải mô-đun trực tiếp từ thư mục chứa mã nguồn đã sửa đổi.

Tôi đề xuất phương pháp PYTHONPATH nếu bạn đang thực hiện các thay đổi đối với mã thư viện ứng dụng hoặc nếu bạn không có quyền quản trị trên hệ thống của mình. Bằng cách chỉnh sửa PYTHONPATH, bạn có thể đặt các mô-đun cần thiết ở bất cứ đâu bạn muốn.

Tôi đã sửa đổi PYTHONPATH trên hệ thống *nix và Mac OS X bằng cách đặt nó trong tệp cấu hình trình bao .bashrc. Nếu đang sử dụng trình bao bash, bạn có thể đặt biến bằng cách thêm dòng sau vào tệp ~/.bashrc.

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

Sau đó, bạn có thể áp dụng những thay đổi này cho phiên shell hiện tại bằng cách thực thi source ~/.bashrc.

Đối với Windows XP, hãy mở Environment Variables (Biến môi trường) cho hồ sơ của bạn: Control Panel (Bảng điều khiển) > System Properties (Thuộc tính hệ thống) > Advanced (Nâng cao) > Environment Variables (Biến môi trường). Từ đó, bạn có thể tạo hoặc chỉnh sửa biến PYTHONPATH và thêm vị trí của bản sao thư viện cục bộ.