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

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ực

Tô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

  • Truy cập Bảng điều khiển dành cho nhà phát triển của Google https. // bảng điều khiển. nhà phát triển. Google. com
  • Tạo một dự án mới. Ngoài ra, bạn cũng có thể chọn các dự án hiện có
  • Đặt tên cho dự án của bạn. Google Console sẽ tạo một ID dự án duy nhất cho nó
  • Dự án của bạn sẽ xuất hiện trên đầu thanh bên trái
  • Nhấp vào Thư viện. Bạn sẽ thấy một danh sách các API của Google
  • Bật API Google Trang tính
  • Nhấp vào Thông tin xác thực. Chọn Oauth Client id bên dưới Tạo thông tin đăng nhập. Chọn nút radio cho Ứng dụng web
  • đặt tên. Trong Nguồn gốc JavaScript được ủy quyền, hãy nhập URL tên miền của bạn. Trong URI chuyển hướng được ủy quyền, hãy thêm liên kết của URL chuyển hướng. Trong trường hợp của tôi, tôi đã chuyển URL
    composer install
    0
  • Bấm vào nút Tạo. Bạn sẽ nhận được ID khách hàng và bí mật khách hàng trong cửa sổ bật lên. Sao chép các chi tiết này. Chúng tôi sẽ cần nó trong giây lát

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 install
1 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 install
2 để 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

Chủ Đề