Cảnh báo: Trang này nói về các API cũ hơn của Google, tức là Google Data API; trang này chỉ liên quan đến những API có trong thư mục Google Data API. Nhiều API trong số đó đã được thay thế bằng các API mới hơn. Để biết thông tin về một API mới cụ thể, hãy xem tài liệu của API mới đó. Để biết thông tin về cách uỷ quyền cho các yêu cầu bằng một API mới hơn, hãy xem phần Xác thực và uỷ quyền Tài khoản Google.
Video: Xem Trevor Johns hướng dẫn quy trình cài đặt thư viện ứng dụng, kiến trúc thư viện và hướng dẫn về mã.
Cập nhật vào tháng 10 năm 2008 (Nguyên văn của Daniel Holevoet)
- Giới thiệu
- Trước khi cài đặt
- Cài đặt PHP
- Cài đặt Thư viện ứng dụng Google Data PHP
- Kiểm tra để đảm bảo rằng bạn có thể truy cập vào các tệp thư viện ứng dụng
- Nơi tìm hiểu thêm
- Phụ lục A: Chỉnh sửa đường dẫn PHP trong tệp cấu hình
php.ini
- Phụ lục B: Sử dụng PHP từ dòng lệnh
- Phụ lục C: Gợi ý và giải pháp
- Nhật ký sửa đổi
Giới thiệu
Thư viện ứng dụng Google Data PHP là một tập hợp mạnh mẽ gồm các lớp cho phép bạn tương tác với Google Data API. Không giống như các thư viện máy khách khác của chúng tôi, thư viện này được đóng gói trong Zend Framework phổ biến nhưng cũng có thể được tải xuống riêng. Tương tự như các thư viện ứng dụng khác của chúng tôi, thư viện này cũng là nguồn mở và được thiết kế để trở nên đơn giản và hiệu quả, giúp bạn nhanh chóng bắt đầu các dự án của mình.
Cài đặt trước
PHP có thể đã được cài đặt trên máy phát triển hoặc máy chủ web của bạn, vì vậy, bước đầu tiên là xác minh thông tin đó và đảm bảo rằng phiên bản PHP đủ mới để sử dụng cho thư viện ứng dụng. Cách dễ nhất để kiểm tra là đặt một tệp mới vào một thư mục có thể truy cập trên web trên máy chủ của bạn. Nhập thông tin sau vào tệp:
<?php phpinfo(); ?>
Sau đó, hãy đảm bảo rằng bạn có thể truy cập vào tệp đó trên web bằng cách đặt các quyền thích hợp và chuyển đến vị trí của tệp trong trình duyệt. Nếu đã cài đặt PHP và máy chủ của bạn có thể kết xuất các trang PHP, thì bạn sẽ thấy nội dung tương tự như ảnh chụp màn hình bên dưới:

Ảnh chụp màn hình cho thấy trang thông tin PHP. Trang này cho biết phiên bản PHP đã được cài đặt (5.2.6 trong trường hợp này), cùng với những tiện ích đã được bật (trong phần "Configure Command" (Lệnh định cấu hình)) và vị trí của tệp cấu hình nội bộ của PHP (trong phần "Loaded Configuration File" (Tệp cấu hình đã tải)). Nếu trang không hiển thị hoặc nếu phiên bản PHP của bạn cũ hơn 5.1.4, bạn sẽ cần cài đặt hoặc nâng cấp phiên bản PHP. Nếu không, bạn có thể bỏ qua phần tiếp theo và tiếp tục cài đặt Thư viện ứng dụng PHP.
Lưu ý: Nếu bạn có quyền truy cập vào dòng lệnh và dự định sử dụng PHP để chạy tập lệnh dòng lệnh, vui lòng xem phần PHP dòng lệnh trong bài viết này.
Cài đặt PHP
Quy trình cài đặt có chút khác biệt tuỳ theo nền tảng, vì vậy, bạn cần làm theo hướng dẫn dành cho nền tảng cụ thể của mình trong quá trình cài đặt. Trước khi bắt đầu, bạn nên lưu ý rằng các gói được cài đặt sẵn (cũng bao gồm máy chủ web Apache và cơ sở dữ liệu MySQL cùng với PHP) ngày càng trở nên phổ biến. Đối với Windows, Mac OS X và Linux, có dự án XAMPP. Người dùng Mac OS X cũng có thể chọn sử dụng dự án MAMP. Cả hai gói này đều hỗ trợ OpenSSL trong PHP (bắt buộc để tương tác với nguồn cấp dữ liệu đã xác thực).
Nếu bạn cài đặt PHP bằng cách làm theo các bước bên dưới, hãy nhớ cài đặt và bật tính năng hỗ trợ OpenSSL. Bạn có thể tìm thêm thông tin chi tiết về vấn đề này trong phần OpenSSL của trang web PHP. Các phần sau đây tập trung vào cách tự cài đặt PHP.
Trên Windows
Cách dễ nhất để cài đặt hoặc nâng cấp PHP trên Windows là dùng trình cài đặt PHP có trên trang tải xuống của PHP.
- Chọn trình cài đặt PHP (trong phần nhị phân của Windows) tương ứng với phiên bản PHP mới nhất và cho phép trình cài đặt này tải xuống.
- Mở trình cài đặt rồi làm theo hướng dẫn của trình hướng dẫn cài đặt.
- Khi trình hướng dẫn nhắc bạn, hãy chọn máy chủ web đã cài đặt trên hệ thống để trình hướng dẫn định cấu hình máy chủ hoạt động với PHP.
- Kiểm tra quá trình cài đặt bằng cách làm theo các bước được nêu trong phần ở trên.
Trên Mac OS X
PHP có trong OS X, nhưng trước khi sử dụng, bạn nên nâng cấp lên phiên bản PHP mới nhất. Để nâng cấp, bạn có thể cài đặt bất kỳ gói nhị phân miễn phí nào hoặc tự biên dịch. Để biết thông tin chi tiết, hãy xem trang tài liệu PHP về cách cài đặt trên Mac OS X.
Sau khi cài đặt hoặc thiết lập OS X, hãy kiểm tra quá trình cài đặt bằng cách làm theo các bước được nêu trong phần trước khi cài đặt của tài liệu này.
Trên Linux
Tuỳ thuộc vào bản phân phối Linux, có thể có một lựa chọn thiết lập sẵn hoặc dễ sử dụng để cài đặt PHP. Ví dụ: trên Ubuntu, bạn có thể sử dụng trình quản lý gói hoặc chỉ cần nhập nội dung sau vào một thiết bị đầu cuối:
sudo apt-get install php5
Nếu bản phân phối Linux của bạn không có gói cài đặt, bạn phải cài đặt từ mã nguồn. Có hướng dẫn chi tiết về cách biên dịch PHP cho Apache 1.3 và biên dịch PHP cho Apache 2. PHP.net cũng có hướng dẫn cho các máy chủ khác.
Cài đặt Thư viện ứng dụng Google Data PHP
Giờ đây, khi đã cài đặt phiên bản PHP đang hoạt động, đã đến lúc bạn cài đặt thư viện ứng dụng. Thư viện ứng dụng là một phần của Zend Framework nguồn mở nhưng cũng có thể được tải xuống dưới dạng phiên bản độc lập. Nếu đã cài đặt một phiên bản Zend Framework (phiên bản 1.6 trở lên), bạn có thể bỏ qua bước cài đặt vì Thư viện ứng dụng Google Data Client đã được đưa vào. Tuy nhiên, bạn nên đảm bảo rằng mình đang sử dụng phiên bản mới nhất của khung này để có thể sử dụng tất cả các tính năng và bản sửa lỗi mới nhất.
Khi tải toàn bộ khung xuống, bạn sẽ có quyền truy cập không chỉ vào Thư viện ứng dụng Google Data mà còn vào phần còn lại của khung. Bản thân thư viện ứng dụng sử dụng một số lớp khác thuộc Zend Framework hoàn chỉnh, nhưng bạn không cần tải toàn bộ khung xuống vì chúng tôi đã gói các lớp này vào bản tải xuống độc lập.
- Tải các tệp Thư viện ứng dụng Google Data xuống. (Tìm "Google Data APIs" trong trang đó.)
- Giải nén các tệp đã tải xuống. Bạn nên tạo 4 thư mục con:
demos
– Ứng dụng mẫudocumentation
– Tài liệu về các tệp thư viện ứng dụnglibrary
– Tệp nguồn thư viện ứng dụng thực tế.tests
– Tệp kiểm thử đơn vị để kiểm thử tự động.
- Thêm vị trí của thư mục
library
vào đường dẫn PHP (xem phần tiếp theo)
Kiểm tra để đảm bảo bạn có thể truy cập vào các tệp thư viện ứng dụng
Bước cuối cùng là đảm bảo rằng bạn có thể tham chiếu và đưa các tệp Thư viện ứng dụng PHP vào thư mục mà bạn đang tạo dự án. Bạn có thể thực hiện việc này bằng cách đặt biến include_path
trong tệp cấu hình của PHP (php.ini
). Biến include_path
chứa một số vị trí thư mục mà PHP sẽ tìm kiếm khi bạn đưa ra câu lệnh require
hoặc include
để kéo các lớp, thư viện hoặc tệp bên ngoài vào tập lệnh hiện tại, tương tự như câu lệnh import
trong Java. Bạn cần thêm vị trí của các tệp thư viện ứng dụng vào những gì đã được thiết lập trong include_path
. Bạn có thể thực hiện việc này theo hai cách (cả hai cách đều được giải thích chi tiết bên dưới):
- Đặt chỉ thị
include_path
vĩnh viễn trong tệp cấu hìnhphp.ini
từ dòng lệnh – yêu cầu quyền truy cập vào trình bao và quyền ghi. - Đặt biến đường dẫn
include_path
ở cấp "mỗi thư mục" – yêu cầu máy chủ web Apache và khả năng tạo tệp.htaccess
. - Sử dụng hàm
set_include_path()
để đặt đường dẫn bao gồm một cách linh động trong tập lệnh của bạn – có thể được đặt một cách linh động trong từng tệp .php.
Nếu bạn có quyền truy cập vào shell và quyền ghi vào tệp php.ini
(hoặc nếu bạn đang viết mã trên máy cục bộ), chỉ cần làm theo hướng dẫn trong phụ lục A. Nếu đang sử dụng máy chủ web Apache và có thể tạo tệp .htaccess, thì bạn có thể đặt biến include_path
ở cấp "mỗi thư mục", tức là tất cả tệp trong thư mục mà bạn đang làm việc đều có thể tự động tham chiếu đến thư mục thư viện ứng dụng.
Bạn có thể chỉ định các lựa chọn cấu hình PHP như trong đoạn mã bên dưới:
# This works for PHP5 in both Apache versions 1 and 2 <IfModule mod_php5.c> php_value include_path ".:/usr/local/lib/php:/path/to/ZendGdata/library" </IfModule>
Lưu ý: Hãy tham khảo Sổ tay PHP để biết thêm thông tin về cách thay đổi chế độ cài đặt cấu hình.
Nếu không có quyền truy cập vào shell của máy chủ và không thể sửa đổi hoặc tạo tệp .htaccess, bạn luôn có thể sử dụng hàm set_include_path
. Xin lưu ý rằng bạn có thể đã đặt một số giá trị cho include_path
, vì vậy, bạn nên làm theo mô hình bên dưới để thêm các giá trị mới thay vì ghi đè toàn bộ đường dẫn:
$clientLibraryPath = '/path/to/ZendGdata/library'; $oldPath = set_include_path(get_include_path() . PATH_SEPARATOR . $clientLibraryPath);
Lưu ý: Vui lòng tham khảo các trang hướng dẫn về PHP để biết thêm thông tin chi tiết về hàm set_include_path
.
Chạy Trình kiểm tra cài đặt PHP
Để xác minh rằng bạn đã đặt đường dẫn bao gồm đúng cách, bạn có thể chạy tập lệnh Trình kiểm tra cài đặt PHP. Bạn chỉ cần sao chép và dán nội dung của tệp đó vào một tệp mới trong một thư mục có thể truy cập trên web trên máy chủ của bạn rồi chuyển đến tệp đó bằng trình duyệt. Nếu thấy kết quả tương tự như bên dưới, thì mọi thứ đã được định cấu hình đúng cách và bạn đã sẵn sàng sử dụng Thư viện ứng dụng PHP:

Nếu bạn thấy lỗi (như trong ảnh chụp màn hình bên dưới), hãy nhớ làm theo hướng dẫn. Bạn có thể thiếu các tiện ích hoặc đường dẫn của bạn vẫn chưa được thiết lập đúng cách. Hãy nhớ rằng bạn có thể phải khởi động lại máy chủ để các thay đổi có hiệu lực. Điều này chỉ áp dụng nếu bạn thực sự sửa đổi tệp php.ini
. Ảnh chụp màn hình bên dưới cho thấy include_path
được đặt thành /path/to/nowhere
:

Lưu ý: Xin lưu ý rằng Trình kiểm tra cài đặt PHP sẽ lần lượt kiểm tra những nội dung sau: (1) các tiện ích PHP bắt buộc đã được cài đặt, (2) include_path
có trỏ đến thư mục của Thư viện ứng dụng PHP hay không, (3) có thể thực hiện các kết nối SSL hay không và cuối cùng là có thể kết nối với YouTube Data API hay không. Nếu một kiểm thử cụ thể không thành công, các kiểm thử còn lại sẽ không chạy.
Giờ đây, khi bạn đã cài đặt thư viện ứng dụng, đã đến lúc bạn chạy thử các mẫu.
Chạy các mẫu
Ở thư mục gốc Zend/Gdata
, có một thư mục chứa các bản minh hoạ – các mẫu giúp bạn bắt đầu. Một số mẫu trong số này được thiết kế để chạy qua dòng lệnh, chẳng hạn như demos/Zend/Gdata/Blogger.php
và demos/Zend/Gdata/Spreadsheet-ClientLogin.php
, đồng thời bạn có thể thực thi các mẫu đó bằng php /path/to/example
. Bạn có thể chạy các mẫu còn lại qua cả dòng lệnh và trình duyệt web. Nếu bạn muốn xem các tệp này trong trình duyệt, thì bạn nên đặt chúng vào bất kỳ thư mục nào mà bạn sẽ dùng để phân phát trang web. Những mẫu này sẽ giúp bạn có ý tưởng cơ bản về cách viết và chạy một ứng dụng Google Data, nhưng khi bạn đã sẵn sàng tìm hiểu thêm, bạn có thể tham khảo các tài nguyên khác dành cho lập trình viên ham học hỏi.
Lưu ý: Nếu bạn muốn xem bản minh hoạ dựa trên web trực tuyến, vui lòng truy cập vào googlecodesamples.com và tìm các ứng dụng PHP.
Nơi tìm hiểu thêm
Nơi tốt nhất để tìm thông tin về các lớp thuộc thư viện ứng dụng là hướng dẫn tham khảo API trên trang web Zend Framework. Nhớ chọn gói Zend_Gdata trong trình đơn thả xuống.
Đến đây, bạn đã sẵn sàng bắt đầu viết mã. Vậy nên, hãy tiếp tục viết một số ứng dụng tuyệt vời. Chúng tôi rất mong được xem kết quả của bạn!
Bạn có thể tìm thấy hướng dẫn dành cho nhà phát triển PHP cho các dịch vụ sau:
Vì Thư viện ứng dụng PHP là một dự án mã nguồn mở, nên chúng tôi liên tục bổ sung khả năng hỗ trợ cho nhiều API hơn. Mỗi dịch vụ có một nhóm hỗ trợ riêng. Vui lòng xem mục Câu hỏi thường gặp của chúng tôi để biết danh sách các nhóm hỗ trợ hiện có.
Nếu bạn cần trợ giúp khắc phục sự cố với các lệnh gọi API, bạn có thể xem các bài viết về gỡ lỗi yêu cầu API bằng các công cụ ghi lại lưu lượng truy cập mạng và về cách sử dụng máy chủ proxy với Google Data API. Ngoài ra, còn có một số bài viết bên ngoài về cách cài đặt XAMPP trên Linux và cách cài đặt XAMPP trên Windows. Ngoài tất cả những bài viết này, hãy nhớ xem các bài đăng về Thư viện ứng dụng PHP trên blog Mẹo về API dữ liệu của Google.
Phụ lục A: Chỉnh sửa đường dẫn PHP trong tệp cấu hình php.ini
Đường dẫn PHP là biến chứa danh sách các vị trí mà PHP tìm kiếm khi tìm các thư viện bổ sung trong quá trình tải. Để PHP có thể tải và truy cập vào các tệp Thư viện ứng dụng PHP của Google Data trên máy hoặc máy chủ của bạn, bạn cần đặt các tệp này vào một vị trí mà PHP biết. Hoặc bạn cần thêm vị trí của các tệp vào đường dẫn PHP. Xin lưu ý rằng những thay đổi đối với tệp php.ini
thường yêu cầu bạn khởi động lại máy chủ. Bạn luôn có thể xác minh giá trị hiện tại của biến include_path
bằng cách chuyển đến trang Thông tin PHP đã thảo luận trước đó. Tìm ô Loaded Configuration File (Tệp cấu hình đã tải) trong bảng đầu tiên và tìm đường dẫn trong cột ở bên phải.
Lưu ý: Nếu thấy rằng bạn đang sử dụng php từ dòng lệnh, thì có thể bạn cần sửa đổi một biến đường dẫn khác. Nhớ xem Phụ lục B: Sử dụng PHP từ dòng lệnh.
Sau khi bạn tìm thấy tệp php.ini
, hãy làm theo các bước sau để thêm vào đường dẫn.
- Mở tệp
php.ini
trong trình chỉnh sửa văn bản mà bạn yêu thích. - Tìm dòng tham chiếu đến đường dẫn PHP, dòng này phải bắt đầu bằng
include_path
. - Thêm đường dẫn mà bạn đã lưu Zend Framework vào danh sách các vị trí hiện có, thêm đường dẫn mới của bạn vào trước bằng dấu phân cách được chỉ định cho hệ điều hành của bạn (
:
trên các hệ thống tương tự như Unix,;
trên Windows). Đường dẫn chính xác trên các hệ thống tương tự như Unix sẽ có dạng như sau: Trên Windows, đường dẫn sẽ có dạng như sau:/path1:/path2:/usr/local/lib/php/library
\path1;\path2;\php\library
- Lưu và đóng tệp.
Lưu ý: Trên Mac OS X, Finder không cho phép truy cập vào các tệp nằm ở các vị trí hệ thống, chẳng hạn như thư mục /etc
. Do đó, cách dễ nhất là chỉnh sửa các tệp này bằng một trình chỉnh sửa dòng lệnh như vi
hoặc pico
. Để thực hiện việc này, hãy dùng một lệnh như: pico /path/to/php.ini
.
Phụ lục B: Sử dụng PHP từ dòng lệnh
Kể từ phiên bản PHP 5, có một tiện ích dòng lệnh trong PHP được gọi là CLI (trình thông dịch dòng lệnh). Việc sử dụng tiện ích này cho phép chạy các tập lệnh php từ dòng lệnh. Trường hợp mà bạn có thể sử dụng tính năng này là khi bạn đang chạy PHP cục bộ trên máy và đang tìm cách kiểm thử nhanh một số tập lệnh. Tất nhiên, trên máy chủ của bạn, bạn sẽ cần có quyền truy cập vào shell. Một điều quan trọng cần lưu ý là PHP thường sử dụng 2 tệp php.ini
riêng biệt, một tệp chứa các lựa chọn cấu hình cho PHP chạy trên máy chủ của bạn và một tệp khác cho các cấu hình mà PHP sử dụng khi chạy từ dòng lệnh. Nếu muốn chạy các ứng dụng minh hoạ dòng lệnh trong thư viện ứng dụng, bạn cũng cần sửa đổi tệp php.ini
dòng lệnh.
Để tìm tệp này, hãy nhập các lệnh sau trên các hệ thống tương tự Unix (Mac OS X, Linux và các hệ thống khác):
php -i | grep php.ini
Lệnh đó sẽ dẫn đến việc thông tin sau đây xuất hiện trong thiết bị đầu cuối của bạn:
Configuration File (php.ini) Path => /etc/php5/cli Loaded Configuration File => /etc/php5/cli/php.ini
Lưu ý: Tất nhiên, vị trí đường dẫn thực tế (/etc/php...
) có thể khác trên hệ thống của bạn.
Phụ lục C: Gợi ý và giải pháp
Phần này trình bày vắn tắt một số vấn đề mà nhà phát triển đã phát hiện khi làm việc với PHP và các giải pháp phù hợp.
Vấn đề với tiện ích dom-xml trong XAMPP
Thư viện ứng dụng PHP sử dụng các lớp DOMDocument để chuyển đổi các yêu cầu và phản hồi XML thành các đối tượng PHP. Tiện ích dom-xml
có thể gây ra vấn đề với việc xử lý XML và dẫn đến các phép biến đổi không chính xác. Một số nhà phát triển của chúng tôi nhận thấy rằng khi sử dụng XAMPP, hàm khởi tạo DOMDocument sẽ bị ghi đè bằng một lệnh gọi hàm cũ hơn, như được giải thích trên trang web PHP. Để khắc phục vấn đề này, hãy đảm bảo rằng quá trình xử lý XML không bị ghi đè trong tệp php.ini
. Đảm bảo xoá các tham chiếu đến php_domxml.dll
khỏi tệp cấu hình của bạn.
Yêu cầu hết thời gian chờ khi sử dụng thư viện ứng dụng
Nếu đang dùng thư viện ứng dụng để thực hiện các yêu cầu khá lớn, chẳng hạn như tải video lên YouTube Data API, thì bạn có thể cần thay đổi tham số timeout
trong lớp Zend_Http_Client
. Bạn có thể dễ dàng thực hiện việc này bằng cách truyền một tham số $config
trong quá trình tạo thực thể. Tham số này sẽ đặt giá trị timeout
thành một giá trị khác với giá trị mặc định là 10 giây:
// assuming your Zend_Http_Client already exists as $httpClient // and that you want to change the timeout from the 10 second default to 30 seconds $config = array('timeout' => 30); $httpClient->setConfig($config);
Một số nhà cung cấp dịch vụ lưu trữ không cho phép các kết nối https được thực hiện từ máy chủ của họ
Chúng tôi được biết rằng một số nhà cung cấp dịch vụ lưu trữ không cho phép bạn thực hiện các kết nối https
từ máy chủ mặc định của họ. Nếu nhận được thông báo lỗi tương tự như bên dưới, thì bạn có thể cần thực hiện các kết nối https thông qua một proxy bảo mật:
Unable to Connect to sslv2://www.google.com:443. Error #110: Connection timed out
Nhà cung cấp dịch vụ lưu trữ của bạn phải có thông tin về địa chỉ thực của máy chủ proxy cần sử dụng. Đoạn mã dưới đây minh hoạ cách sử dụng cấu hình proxy tuỳ chỉnh với Thư viện ứng dụng PHP:
// Load the proxy adapter class in addition to the other required classes Zend_Loader::loadClass('Zend_Http_Client_Adapter_Proxy'); // Configure the proxy connection with your hostname and portnumber $config = array( 'adapter' => 'Zend_Http_Client_Adapter_Proxy', 'proxy_host' => 'your.proxy.server.net', 'proxy_port' => 3128 ); // A simple https request would be an attempt to authenticate via ClientLogin $proxiedHttpClient = new Zend_Http_Client('http://www.google.com:443', $config); $username = 'foo@example.com'; $password = 'barbaz'; // The service name would depend on what API you are interacting with, here // we are using the Google DocumentsList Data API $service = Zend_Gdata_Docs::AUTH_SERVICE_NAME; // Try to perform the ClientLogin authentication using our proxy client. // If there is an error, we exit since it doesn't make sense to go on. try { // Note that we are creating another Zend_Http_Client // by passing our proxied client into the constructor. $httpClient = Zend_Gdata_ClientLogin::getHttpClient( $username, $password, $service, $proxiedHttpClient); } catch (Zend_Gdata_App_HttpException $httpException) { // You may want to handle this differently in your application exit("An error occurred trying to connect to the proxy server\n" . $httpException->getMessage() . "\n"); }
Nhật ký sửa đổi
Ngày 1 tháng 10 năm 2008
Người cập nhật: Jochen Hartmann. Bản cập nhật này có những thay đổi sau:
- Đã làm rõ cấu hình PHP cho máy chủ web bằng cách di chuyển các phần đề cập đến PHP dòng lệnh vào một phụ lục.
- Thêm ghi chú về nhiều tệp cấu hình php.ini.
- Đã thêm các phần về cách đặt include_path một cách linh hoạt.
- Đã thêm phần về tập lệnh trình kiểm tra cài đặt.
- Thêm đường liên kết đến các mẫu trực tuyến.
- Đã thêm đường liên kết cho XAMPP và MAMP.
- Thêm phụ lục "Gợi ý và giải pháp".