Làm cách nào để lấy dữ liệu từ php sang google sheet?
Trước đây, tôi đã từng làm việc trong một dự án mà chúng tôi muốn ghi dữ liệu động vào Bảng tính Google. Để đạt được điều này, chúng tôi đã tương tác với Google Sheets API. Tôi thấy đây là một chủ đề thú vị cho bài đăng trên blog có thể hữu ích cho người đọc. Vì vậy, trong bài viết này, chúng tôi nghiên cứu cách tích hợp Google Sheets API bằng PHP. Chúng tôi sẽ thực hiện các thao tác tạo, viết, nối và đọc trên bảng tính Google thông qua API Trang tính Show Google Spreadsheet là một bộ phần mềm văn phòng dựa trên web miễn phí được duy trì bởi Google. Người ta có thể sử dụng bảng tính cho mục đích riêng của họ trong dịch vụ Google Drive Khi nói đến các trang web, bạn có thể sử dụng Google sheet cho nhiều mục đích khác nhau. Người ta có thể lưu trữ thông tin liên hệ của người dùng (điện thoại và email), chi tiết thanh toán, đăng ký sự kiện, hoạt động, v.v. trong trang tính Google. Trên trang web, bạn có thể muốn một hệ thống tự động thực hiện tất cả các thao tác đọc, ghi trên bảng tính khi kích hoạt một hành động cụ thể. Nó có thể được thực hiện thông qua API Trang tính. Như đã nói, hãy bắt đầu với việc tích hợp Google Sheets API trong ứng dụng của bạn Đăng ký một ứng dụng và tạo thông tin xác thựcTôi sẽ sử dụng OAuth để tương tác với API. OAuth là một cách an toàn hơn và được đề xuất để thực hiện các thao tác API. Thực hiện theo các bước bên dưới cần thiết để tích hợp OAuth
Cấu hình cơ bảnĐể sử dụng OAuth để thực hiện các hoạt động API, nó yêu cầu bạn tạo mã thông báo truy cập đóng vai trò là mã định danh cho tài khoản của bạn. Sử dụng mã thông báo truy cập này, Google API xác thực xem yêu cầu đến có hợp lệ và được ủy quyền hay không Mã thông báo truy cập có tuổi thọ ngắn. Chúng hết hạn sớm. Và sau khi hết hạn, chúng tôi không thể thực hiện lệnh gọi API vì Google coi yêu cầu có mã thông báo đã hết hạn là yêu cầu trái phép. Để giải quyết vấn đề này, chúng tôi sử dụng 'refresh_token' để tạo lại mã thông báo truy cập trong nền. Đây là cách OAuth hoạt động Hãy bắt đầu xây dựng luồng OAuth. Tạo tệp composer install1 và thêm các dòng dưới đây vào đó { "require": { "google/apiclient": "^2.10", "hybridauth/hybridauth" : "~3.0" }, "scripts": { "pre-autoload-dump": "Google\\Task\\Composer::cleanup" }, "extra": { "google/apiclient-services": [ "Sheets" ] } } Ở đây chúng tôi đang cài đặt thư viện “google/apiclient”. Có hơn 200 dịch vụ API của Google và chúng tôi chỉ cần dịch vụ 'Trang tính'. Vì vậy, tôi đã sử dụng tác vụ composer install2 để dọn dẹp và chỉ giữ lại dịch vụ 'Trang tính' Tiếp theo, chạy lệnh bên dưới để cài đặt các thư viện này composer install Khi chúng tôi tạo mã thông báo truy cập, nó cần được lưu trữ trong cơ sở dữ liệu. Bằng cách lưu trữ nó, bạn có thể tìm nạp mã thông báo bất cứ lúc nào và thực hiện lệnh gọi API. Chạy truy vấn bên dưới để tạo bảng trong cơ sở dữ liệu CREATE TABLE `google_oauth` ( `id` int(11) NOT NULL AUTO_INCREMENT, `provider` varchar(255) NOT NULL, `provider_value` text NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; Bây giờ, hãy tạo một lớp DB sẽ tương tác với cơ sở dữ liệu và truy xuất, lưu trữ, cập nhật thông tin mã thông báo trong bảng lớp-db. php db)){ // Connect to the database $conn = new mysqli($this->dbHost, $this->dbUsername, $this->dbPassword, $this->dbName); if($conn->connect_error){ die("Failed to connect with MySQL: " . $conn->connect_error); }else{ $this->db = $conn; } } } public function is_table_empty() { $result = $this->db->query("SELECT id FROM google_oauth WHERE provider = 'google'"); if($result->num_rows) { return false; } return true; } public function get_access_token() { $sql = $this->db->query("SELECT provider_value FROM google_oauth WHERE provider = 'google'"); $result = $sql->fetch_assoc(); return json_decode($result['provider_value']); } public function get_refersh_token() { $result = $this->get_access_token(); return $result->refresh_token; } public function update_access_token($token) { if($this->is_table_empty()) { $this->db->query("INSERT INTO google_oauth(provider, provider_value) VALUES('google', '$token')"); } else { $this->db->query("UPDATE google_oauth SET provider_value = '$token' WHERE provider = 'google'"); } } } Thay thế các trình giữ chỗ trong đoạn mã trên bằng thông tin đăng nhập cơ sở dữ liệu thực tế. Ở đây tôi giả sử bạn muốn sử dụng một tài khoản Google. Nếu bạn có ý định sử dụng nhiều tài khoản thì hãy sửa đổi các truy vấn theo yêu cầu của bạn Tạo mã thông báo truy cập cho Google Sheet APIChúng ta đã hoàn thành việc tạo bảng và cài đặt thư viện. Tiếp theo, chúng tôi cần cấp quyền cho tài khoản Google và lưu trữ mã thông báo truy cập trong bảng ‘google_oauth’ Tạo tệp composer install3 và viết cấu hình theo hướng dẫn của thư viện HybridAuth cấu hình. php ________số 8 Đảm bảo xác định giá trị của các hằng số GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET. Ngoài ra, hãy chuyển URL gọi lại cho phím 'gọi lại'. Khi người dùng hoàn thành ủy quyền, họ sẽ chuyển hướng đến URL gọi lại này Sử dụng tệp composer install4, chúng tôi sẽ lấy chi tiết mã thông báo truy cập và lưu trữ chúng trong cơ sở dữ liệu như sau gọi lại. php composer install0 Bây giờ, hãy truy cập trình duyệt và chạy YOUR_DOMAIN_URL/callback. php, nó sẽ chuyển hướng bạn đến tài khoản Google. Hoàn tất quá trình ủy quyền. Sau khi hoàn tất quy trình, hãy kiểm tra bảng ‘google_oauth’. Nó nên đã lưu trữ thông tin mã thông báo Tạo Bảng tính bằng API Trang tính và PHPBạn đã lưu trữ mã thông báo truy cập trong bảng của mình. Khi chúng tôi có mã thông báo truy cập, chúng tôi có thể tương tác với Google Sheets API. Hãy bắt đầu với việc tạo bảng tính theo chương trình tạo trang tính. php composer install1 Mã này lấy chi tiết mã thông báo từ cơ sở dữ liệu. Sử dụng mã thông báo này, nó gọi dịch vụ Google trang tính và tạo bảng tính. Tôi đã in ID của bảng tính đã tạo Nếu mã thông báo truy cập hết hạn, thì mã sẽ chuyển đến khối bắt. Trong khối catch, nó tạo lại mã thông báo truy cập, cập nhật nó trong cơ sở dữ liệu và tiếp tục hoạt động API Mã tương tự với một vài thay đổi sẽ được sử dụng cho các thao tác khác trên bảng tính Ghi dữ liệu vào bảng tínhĐể thực hiện các thao tác ghi, bạn cần chuyển một dãy ô cần ghi. Chẳng hạn, bạn muốn thêm tiêu đề Tên và Email ở trên cùng. Trong trường hợp đó, phạm vi của bạn trở thành 'A1. B1’. Có nghĩa là chúng ta sẽ viết tiêu đề Tên và Email lần lượt trong các ô A1 và B1 composer install2 Ở đây, tôi đã chuyển ID bảng tính cho phương thức composer install5. Bạn có thể sửa đổi chức năng này và chuyển các tham số bổ sung. Trong đoạn mã trước, chúng tôi đã trả về ID bảng tính có thể được sử dụng trong đoạn mã trên. Ngoài ra, bạn có thể lấy ID bảng tính từ URL trang tính của mình. Xem ảnh chụp màn hình bên dưới Nối dữ liệu vào Google SheetNếu bạn muốn thêm thông tin liên tục trong Google Trang tính, thì bạn cần thêm thông tin đó vào bảng tính hiện có. Có thể có trường hợp bạn muốn nối thêm một hoặc nhiều hàng trong một lần. Người dùng có thể chuyển một hoặc nhiều phần tử mảng và nối thêm dữ liệu vào trang tính như hình bên dưới composer install4 Tôi đã sử dụng phạm vi 'A1. B1’ và chuyển 2 phần tử mảng riêng biệt. API trang tính nối các chi tiết này sau dữ liệu bảng. Hãy lưu ý mặc dù chúng tôi đang vượt qua 'A1. B1’ trong phạm vi, nó sẽ không thay thế các giá trị đã được ghi trong các ô này. Thay vào đó, nó ghi dữ liệu vào các ô có sẵn tiếp theo Đọc dữ liệu từ Google SheetChúng tôi đã viết mã để tạo bảng tính, viết và nối thêm dữ liệu vào bảng tính. Cuối cùng, hãy xem cách đọc dữ liệu từ Google Sheet composer install5 Tôi hy vọng bạn hiểu cách tích hợp Google Sheets API bằng PHP. Tôi muốn nghe những suy nghĩ và đề xuất của bạn trong phần bình luận bên dưới Làm cách nào tôi có thể chuyển đổi peso sang Google Trang tính?Để áp dụng định dạng tiền tệ tùy chỉnh cho bảng tính của bạn. . Trên máy tính, hãy mở một bảng tính trong Google Trang tính Đánh dấu dữ liệu bạn muốn định dạng Nhấp vào Định dạng. Con số Nhấp vào Đơn vị tiền tệ tùy chỉnh Tìm kiếm trong hộp văn bản menu để chọn một định dạng. Bạn cũng có thể thêm định dạng tiền tệ tùy chỉnh của riêng mình vào hộp văn bản Nhấp vào Áp dụng Bạn có thể nhập dữ liệu từ một trang web vào Google Trang tính không?Google Trang tính cung cấp chức năng có tên là NhậpHTML để nhập dữ liệu từ bảng hoặc danh sách trong trang HTML . Bạn có thể sử dụng chức năng này để tự động lấy dữ liệu vào Google Sheet rồi vào Geckoboard. |