Đây là bài viết đầu tiên trong list các nội dung bài viết giới thiệu và áp dụng Google Apps Script.

Bạn đang xem: Google thời tiết

Google Apps Script

https://developers.google.com/apps-script/

Google app Script là ngôn từ lập trình dựa vào JavaScript với trình biên tập, biên dịch, nơi lưu trữ file hầu hết nằm trên mây (máy nhà của Google). Với lý lẽ này, bạn cũng có thể lập trình nhằm thao tác, can thiệp đến rất nhiều các thương mại & dịch vụ của Google(Google Docs, Spreadsheet, Calendar,... ). Vị chương trình nằm trên mây nên hoàn toàn có thể được chạy một cách auto theo hầu như khoảng thời gian chọn trước hoặc gồm một sự kiện diễn ra.

Để bắt đầu, họ cần bao gồm một tài khoản Google và một máy tính xách tay có kết nối mạng internet.

Ứng dụng hiển thị thông tin thời tiết

Chúng ta vẫn "bịa" ra một kịch bạn dạng kiểu như vậy này: bọn họ có một file Spreadsheet lưu thông tin cụ thể kế hoạch cho một buổi dã ngoại, để tăng thêm phần sinh động, họ sẽ hiển thị tin tức thời huyết của khu vực ở trên thuộc của Sheet.

Chuẩn bị

Thực hiện

Thêm bắt đầu memu cho trang tính

Từ trang tính chọn Tools > Script editor, nếu như bạn được hỏi bởi màn hình hiển thị chào mừng hãy chọn Blank Project.

Thêm menu

Bạn đã bao gồm nơi để viết code, trọng trách là chúng ta phải thêm một tuỳ chọn vào thành menu của trang tính, khi chọn tùy lựa chọn này, áp dụng sẽ cập nhật lại thông tin thời tiết.Google Apps Script có những hàm đặc biệt quan trọng (sẽ nói tại một bài khác) trong những số đó hàm onOpen - Phương thức sẽ được gọi khi chúng ta mở trang tính. Bọn họ sẽ tiến hành thêm menu từ hàm này.

function onOpen() var ui = SpreadsheetApp.getUi(); // lấy ra đối tượng người tiêu dùng UI của trang tính ui.createMenu("Weather Forecast") // tạo một thực đơn .addItem("Update", "weatherForecast") // thêm 1 item cho menu, và tên hàm sẽ tiến hành chạy khi chọn item. .addToUi(); // Thêm menu sau khoản thời gian thêm vào trang tính. File mà bọn họ đang code chỉ có thể tương tác với cùng 1 trang tính được links với nó. Lưu lại code, reload lại trang tính hoặc dữ thế chủ động chạy function onOpen

*

Kêt quả thu được

*

Một đoạn code khác cũng cho kết quả tương tự

function onOpen() var spreadsheet = SpreadsheetApp.getActive(); var menuItems = < name: "Update", functionName: "weatherForecast", >; spreadsheet.addMenu("Weather Forecast", menuItems); Hiển thị thông tin thời tiết

Những thông tin chúng ta cần hiển thị có thể như rứa này (Nhiệt độ hiện tại tại, béo nhất, nhỏ nhất, độ ẩm, tình trạng thời tiết)

*
Thông tin của api http://api.openweathermap.org/data/2.5/forecast/daily?q=Hanoi&units=metric&appid=xxx&cnt=1 tất cả dạng:

"city":"id":1581130,"name":"Hanoi","coord":"lon":105.8525,"lat":21.0292,"country":"VN","population":1431270,"cod":"200","message":0.5567828,"cnt":1,"list":<"dt":1532235600,"temp":"day":35.84,"min":25.8,"max":35.84,"night":25.8,"eve":30.92,"morn":30,"pressure":1004.09,"humidity":83,"weather":<"id":501,"main":"Rain","description":"moderate rain","icon":"10d">,"speed":2.82,"deg":323,"clouds":36,"rain":9.99>Chúng ta có thể thấy được tất cả thông tin mà họ cần.

Nhiệm vụ: điện thoại tư vấn api, điền thông tin vào những ô nuốm định.

function weatherForecast() var NOTATIONS = CITY: "B1", WEATHER: "B2", TEMP: "B3", TEMP_MIN: "B4", TEMP_MAX: "B5", HUMI: "B6" ; // những Notation thắt chặt và cố định var ss = SpreadsheetApp.getActive(); // lấy ra đối tượng người tiêu dùng trang tính var sheet = ss.getSheetByName("Weather"); // mang sheet có tên Weather. Ss.getSheets()<0>; var apiKey = "xxx"; // Openweathermap api key var cityName = sheet.getRange(NOTATIONS.CITY).getValue(); // Lấy tin tức thành phố tại phần B1 var apiCall = "api.openweathermap.org/data/2.5/forecast/daily?q=" + cityName +"&units=metric&cnt=1&appid=" + apiKey; var response = UrlFetchApp.fetch(apiCall); // hotline api var data = JSON.parse(response.getContentText()); // Convert api response thành đối tượng người dùng json. GetContentText trả lại string. // Hàm này phải quyền https://www.googleapis.com/auth/script.external_request trên thông tin tài khoản google của bạn if (data.cod === "404") // thành phố not found return; var today = data<"list"><0>; // Lấy dữ liệu từ Json object var weather = today<"weather"><0>; var tempObj = today<"temp">; var country = data<"city"><"country">; var weatherDesc = weather<"main">; var temp = tempObj<"day">; var minTemp = tempObj<"min">; var maxTemp = tempObj<"max">; var humidity = today<"humidity">; sheet.getRange(NOTATIONS.WEATHER).setValue(weatherDesc); // Gán tài liệu sheet.getRange(NOTATIONS.TEMP).setValue(Math.round(temp)); sheet.getRange(NOTATIONS.TEMP_MIN).setValue(Math.round(minTemp)); sheet.getRange(NOTATIONS.TEMP_MAX).setValue(Math.round(maxTemp)); sheet.getRange(NOTATIONS.HUMI).setValue(humidity); Như vậy là họ đã dứt ứng dụng.

Giờ bạn quay trở về trang tính, xoá dữ liệu từ B2 tới B6, kế tiếp chọn menu Weather Forecast > Update giúp xem kết quả.

Kết quả

Về cơ phiên bản thì đó là tất cả những gì họ cần, cơ mà tôi thì lại mong thêm một ít nữa.

Chỉnh đồ họa

*

*

Kết luận

Hy vọng với nội dung bài viết này các chúng ta cũng có thể bắt đầu làm cho quen cùng với Google Apps Script và bao gồm thêm các ý tưởng phát minh sử dụng nó cho quá trình của mình.

Xem thêm: Hình Vẽ Con Bướm Dễ Thương, Top 8 Hình Vẽ Con Bướm Đơn Giản 2022

Nội dung cục bộ file code: https://gist.github.com/hoangsetup/0e7248c1b206e8a59dbbeff0425f93b9

Trang tính của bài bác mẫu: https://docs.google.com/spreadsheets/d/1_Ti2VfKndGI9ica83j7ePuWYRPVcqqTDed2AiO3QjR4/edit?usp=sharing Các bạn có thể tạo một bạn dạng sao từ bỏ trang tính này.