Google Trang tính API JSON

Vui lòng không sử dụng phiên bản được lưu trữ này cho bất kỳ điều gì quan trọng. Tôi không thể phản ứng nhanh nếu Google cập nhật API của họ hoặc nếu ứng dụng Heroku gặp sự cố. Nếu bạn muốn sử dụng cái này cho việc gì đó quan trọng, tôi khuyên bạn nên dùng Self Hosting

RẤT có khả năng dịch vụ này sẽ đạt giới hạn tốc độ của Google trên API V4 mới của họ. Do đó, mặc dù tham số api_key được liệt kê là tùy chọn, tôi thực sự khuyên bạn nên sử dụng nó

Tôi không chịu bất kỳ trách nhiệm nào đối với các sự cố do sử dụng dịch vụ này gây ra

tự lưu trữ

Bạn có thể tải mã nguồn tại đây

Về

Một tính năng hữu ích của Bảng tính Google là khả năng truy cập dữ liệu dưới dạng JSON bằng cách sử dụng một URL nguồn cấp dữ liệu cụ thể. Tuy nhiên, điều này hơi khó thực hiện và JSON thu được khá khó đọc, với dữ liệu có thể sử dụng được chôn sâu bên trong các đối tượng

API này kết nối với bảng tính của bạn và xử lý dữ liệu, cung cấp JSON đơn giản, dễ đọc, chấp nhận các truy vấn để bạn sử dụng trong ứng dụng của mình

Cách sử dụng

Trước tiên, bạn phải đảm bảo rằng Google Trang tính của bạn được đặt thành chia sẻ với 'bất kỳ ai có liên kết'

Sau đó, bạn có thể truy cập API JSON có thể đọc được của mình bằng cách sử dụng điểm cuối /api

http://gsx2json.com/api?id=SPREADSHEET_ID&sheet=SHEET_NAME&q=QUERY

Thao tác này sẽ cập nhật trực tiếp các thay đổi đối với bảng tính

Hãy xem

Thông số

api_key (tùy chọn). Của bạn để sử dụng với Google Trang tính. Đây là tùy chọn vì tôi có một cái trong ứng dụng, nhưng nếu bạn muốn giới hạn tỷ lệ của riêng mình, v.v., tôi khuyên bạn nên lấy một cái và thêm nó làm thông số

ID (bắt buộc). ID tài liệu của bạn. Đây là mã chữ và số dài lớn ở giữa URL tài liệu của bạn

tấm (bắt buộc). Tên của trang tính riêng lẻ mà bạn muốn lấy dữ liệu từ đó. Kể từ khi cập nhật lên API Google V4, giờ đây cần phải là tên thay vì ID. Thí dụ

q (tùy chọn). Một chuỗi truy vấn đơn giản. Điều này không phân biệt chữ hoa chữ thường và sẽ thêm bất kỳ hàng nào chứa chuỗi trong bất kỳ ô nào vào kết quả đã lọc. Thí dụ

[field_name] (tùy chọn). Ngoài truy vấn chung, bạn có thể thực hiện truy vấn trên bất kỳ trường nào của mình bằng cách tham chiếu tên trường. Điều này thực hiện khớp không phân biệt chữ hoa chữ thường, nhưng sử dụng toán tử '===' nên phải khớp với chuỗi đầy đủ.
LƯU Ý. Tên trường dựa trên cách nó xuất hiện trong JSON được trả về, do đó, một trường trong Google Trang tính là 'Trường của tôi' phải được truy vấn dưới dạng Ví dụ 'myfield'

số nguyên (tùy chọn - mặc định. ĐÚNG VẬY). Đặt 'số nguyên' thành false sẽ trả về số dưới dạng chuỗi (hữu ích cho dấu thập phân). Thí dụ

hàng (tùy chọn - mặc định. ĐÚNG VẬY). Đặt 'hàng' thành sai sẽ chỉ trả về dữ liệu cột. Thí dụ

cột (tùy chọn - mặc định. ĐÚNG VẬY). Đặt 'cột' thành false sẽ chỉ trả về dữ liệu hàng. Thí dụ

Phản hồi mẫu

Có hai phần đối với dữ liệu được trả về - Cột (chứa mỗi cột dưới dạng một mảng dữ liệu) và Hàng (chứa mỗi hàng dữ liệu dưới dạng một đối tượng

Google Trang tính rất mạnh mẽ khi bạn biết cách sử dụng chúng. Bạn có thể làm rất nhiều việc với những thứ đó và tại Unly, chúng tôi dựa vào chúng để tự động hóa nhiều thứ mà không cần dựa vào các nhà phát triển để xây dựng các công cụ tùy chỉnh. #năng suất

Hầu hết các dịch vụ trực tuyến ngày nay đều cung cấp các cách trích xuất dữ liệu vào bảng tính, cho dù đó là CSV, Google Trang tính, Excel, v.v.

Nhưng chúng tôi thường gặp phải những hạn chế khi sử dụng các dịch vụ như vậy vì chúng không phải lúc nào cũng xuất dữ liệu theo cách chúng tôi muốn.

Bây giờ, hãy tưởng tượng nếu bạn có thể cắm bảng tính của mình vào bất kỳ API nào, trích xuất chính xác những gì bạn muốn, theo cách bạn muốn và sử dụng dữ liệu theo bất kỳ cách nào bạn muốn với bất kỳ dịch vụ nào khác mà bạn thích. Nghe có vẻ hay phải không?

Gần đây, chúng tôi đã gặp phải những hạn chế như vậy với các dịch vụ trực tuyến như PipeDrive và TypeForm

giới hạn PipeDrive

Chúng tôi muốn xuất danh bạ PipeDrive của mình sang bảng tính.
Nhưng tính năng xuất trực tuyến không cho phép chúng tôi có hai cột riêng biệt cho họ và tên, tính năng này sẽ hợp nhất cả hai lại với nhau và đó là một vấn đề đối với nhóm bán hàng của chúng tôi.

Giới hạn như vậy nghe có vẻ ngớ ngẩn, nhưng nó thực sự ảnh hưởng đến năng suất của đội ngũ bán hàng của chúng tôi. Để giải quyết vấn đề này, chúng tôi đã kết nối trực tiếp Google Trang tính với API PipeDrive để lấy lại quyền kiểm soát dữ liệu của chúng tôi

Cách kết nối Google API với bất kỳ API JSON nào

Bây giờ, hãy xem cách chúng ta làm điều đó. Chúng tôi đã tập hợp một ví dụ rất đơn giản. Nếu bạn muốn thử với nó, chúng tôi khuyến khích bạn tạo một bản sao. (Tệp > Tạo bản sao)

Ví dụ về bảng tính

https. // tài liệu. Google. com/bảng tính/d/1qQg3p_JG7Tirv14z8JXcs4sehsOafBW9FmAkTVVolIc

giải thích bảng tính

Trong Google Sheet này, hãy nhìn vào ô A1, đó là nơi ẩn chứa điều kỳ diệu

=ImportJSON("https://jsonplaceholder.typicode.com/todos", "/", "noInherit,noTruncate,noPrefixHeaders", Settings!$B$1)

Dòng đơn này về cơ bản tìm nạp API jsonplaceholder.typecode.com.
(không có ý nghĩa gì ngoài việc hiển thị “việc cần làm”).
Sau đó, nó phân tích cú pháp dữ liệu JSON do API trả về và hiển thị chúng bên dưới. bùng nổ.

Ví dụ với API, hiển thị “việc cần làm”

Làm thế nào nó hoạt động?

Tạo một bản sao bằng Tệp > Tạo bản sao nếu bạn chưa thực hiện việc đó. Tạo một bản sao cũng sẽ sao chép các tập lệnh đằng sau chức năng

Trong Script Editor, bạn sẽ thấy 2 script đó (Tools > Script Editor)

  1. NhậpJSON. gs là tập lệnh thực hiện hầu hết các phép thuật, về cơ bản là tìm nạp dữ liệu, phân tích cú pháp và hiển thị chúng. Đó là mã nguồn mở (GNU v3)
  2. kích hoạtTự động làm mới. gs là một tập lệnh tùy chỉnh mà chúng tôi đã viết để cập nhật ô B1 trong trang "Cài đặt", đây là một mẹo đơn giản để buộc trang tính làm mới khi chức năng được kích hoạt. Nó được định cấu hình để làm mới khi tải trang cho ví dụ này và không theo định kỳ (để không spam API), nhưng làm mới theo định kỳ có thể dễ dàng thực hiện được

Tôi sẽ không giải thích ở đây ImportJSON làm gì, nếu bạn muốn tìm hiểu sâu hơn thì hãy tìm hiểu kỹ nhất tại https. //Blog. fastfedora. com/projects/import-json cung cấp tổng quan tốt về các tính năng (ngay cả khi nó được đánh dấu là lỗi thời, đó là tài liệu tốt nhất mà tôi đã tìm thấy)

Tự động cập nhật dữ liệu

Nếu bạn đã tạo một bản sao, bạn có thể nhận thấy rằng nó không tự làm mới. Đó là bởi vì mặc dù các tập lệnh đã được sao chép, nhưng các trình kích hoạt không

Bạn phải tự thêm chúng vào, nó khá đơn giản

  1. Truy cập https. //script. Google. com/nhà/tất cả
  2. Chọn dự án của bạn (nên là “MẪU — Google Sheet to JSON API”)
  3. Chuyển đến Chi tiết dự án > Kích hoạt (xem bên dưới)
  4. Thêm trình kích hoạt (theo mặc định, nó thêm trình kích hoạt vào sự kiện “Mở bảng tính”)
  5. Chọn chức năng triggerAutoRefresh
  6. Chọn “Nguồn sự kiện. Thời gian định hướng”, chọn khoảng thời gian 5 phút và thế là xong

Bước 3 — Mở chế độ xem Triggers từ menu dự án

Đó là nó. Bây giờ, bảng tính của bạn sẽ được cập nhật 5 phút một lần do trình kích hoạt, trình kích hoạt này sẽ ghi một giá trị ngẫu nhiên mới vào ô Settings$B$1, từ đó sẽ kích hoạt làm mới lệnh gọi API ImportJSON, sẽ làm mới dữ liệu được hiển thị

Bản demo với trường hợp sử dụng thực tế

Chúng tôi đã viết một bài viết khác giới thiệu Typeform.
Trong bản trình diễn này, bạn sẽ thấy cách Google Trang tính có thể được sử dụng để tìm nạp dữ liệu theo thời gian thực từ một API, vì những dữ liệu đó do chính bạn tạo.

Cách xây dựng “Trình kết nối Typeform tới Google Trang tính” của riêng chúng tôi đã cải thiện năng suất của chúng tôi như thế nào

Trao quyền cho cộng tác viên phân tích dữ liệu từ Typeform mà không cần liên quan đến nhà phát triển

trung bình. com

Hạn chế

Có một vài hạn chế với loại sử dụng này. Rất đơn giản để sử dụng API không yêu cầu xác thực, chẳng hạn như API được sử dụng trong ví dụ. Nếu bạn cần xác thực, thì mọi thứ có thể trở nên khó khăn hơn

Ví dụ, đối với PipeDrive, vì chúng cho phép xác thực thông qua một api_token để gửi dưới dạng tham số GET (chuỗi truy vấn), nên việc định cấu hình khá đơn giản

=ImportJSON(“https://api.pipedrive.com/v1/persons?start=0&api_token=your_token&limit=10000&filter_id=1", “/data/first_name”, “noInherit, noTruncate”)

Rất đơn giản. Tuy nhiên, hãy cẩn thận với người mà bạn chia sẻ trang tính đó, họ sẽ có thể đọc mã thông báo API của bạn

Lưu ý, nếu bạn có khả năng quyết định những quyền mà mã thông báo cấp, thì chỉ cho phép những gì bạn sử dụng. Chẳng hạn, sẽ không hợp lý khi sử dụng mã thông báo có quyền write nếu bạn chỉ sử dụng nó để trực quan hóa dữ liệu của mình

Nếu bạn gặp khó khăn với việc xác thực, có các cách giải quyết khác, chẳng hạn như UrlFetch (OAuth). Nhưng nó cũng sẽ không bao gồm tất cả các trường hợp sử dụng

API bên ngoài. tập lệnh ứng dụng. Nhà phát triển Google

Google Apps Script có thể tương tác với API từ khắp nơi trên web. Hướng dẫn này chỉ ra cách làm việc với các loại…

nhà phát triển. Google. com

Khả năng sử dụng API JSON thông qua Bảng tính rất mạnh mẽ.
Tại Unly, nó mang đến cho nhóm bán hàng và tiếp thị của chúng tôi khả năng sử dụng các dịch vụ trực tuyến mà không cần sự can thiệp của các nhà phát triển của chúng tôi.

Chúng tôi đã sử dụng thủ thuật này trong vài tháng và nó đã không làm chúng tôi thất vọng, chúng tôi hy vọng nó sẽ giúp bạn nhiều như nó đã giúp chúng tôi

Google Trang tính có hỗ trợ JSON không?

Có, Google Trang tính có thể nhập tệp JSON , bạn có thể làm điều đó với Google Apps Script hoặc các ứng dụng không cần mã của bên thứ ba như Zapier.

Làm cách nào để chuyển đổi Google Trang tính thành JSON?

Nhấp vào Xuất JSON rồi chọn Xuất JSON cho trang tính này. Tập lệnh sẽ thực hiện công việc của nó và khi hoàn thành, một cửa sổ bật lên sẽ xuất hiện với văn bản có định dạng JSON của bạn (Hình 4).

Tôi có thể sử dụng Google Trang tính làm API không?

API Google Trang tính là giao diện RESTful cho phép bạn đọc và sửa đổi dữ liệu của bảng tính . Các ứng dụng phổ biến nhất của API này bao gồm các tác vụ sau. Tạo bảng tính. Đọc và viết các giá trị ô bảng tính.

Bạn có thể gọi API REST từ Google Trang tính không?

Gọi API REST trong Google Trang tính dễ dàng như cài đặt ứng dụng Apipheny, sau đó mở ứng dụng trong Google Trang tính của bạn, nhập yêu cầu API của bạn và nhấp vào “Chạy” . Tiếp tục đọc hướng dẫn về cách nhập dữ liệu API REST vào Google Trang tính.