Issue: 

Khi viết script với Google apps script, script sẽ được gắn tự động vào một defautl GCP project. Một số chức năng sẽ bị hạn chế như: 

+ script sử dụng trigger là post/get request => khi nhận được request, script sẽ tự động thực thi ở server side => nếu script bị error, không thể debug bằng logger.log

+ không publish thành add-on trên Google Workspace Marketplace được…

Solution: 

Switch script từ default GCP sang standard GCP project

Chú ý: sau khi switch, default GCP project bị xoá => không switch back được 

Cách switch từ default GCP sang standard GCP:

+ mở script muốn chuyển => Project setting => Google Cloud Platform (GCP) project => change project

Sau khi switch sang standard GCP, chúng ta có thể xem được log event khi script được trigger bởi post/get request và thực thi tại server:

* Use case:

+ Woocommerce sử dụng webhook bắn data sang google script. Tuy nhiên, script không thực thi => cần kiểm tra Google cloud logging => Do apps script chưa được publish to production nên cần re-authorization mỗi 7 ngày.

Test apps script 7 days limit

Để tránh trường hợp này, chúng ta cần publish app to production tại màn hình “OAuth consent screen” của project: 

Publish app script to production

Sau khi switch sang standard GCP, chúng ta có thể xem được log event khi script được trigger bởi post/get request và thực thi tại server:

Google script error

* Tránh việc Re-authorization mỗi 7 ngày khi sử dụng Standard GCP:

Sau khi chuyển từ default GCP project => standard GCP, để tránh việc reauthorization mỗi 7 ngày, bạn cần chuyển script sang chế độ “internal”. Tuy nhiên, set “internal” chỉ có thể áp dụng cho Google Workspace user.  

Nếu bạn sử dụng personal Google account, cách duy nhất hiện nay (updated on 08/22) để không phải reauthorization mỗi 7 ngày là gắn script vào default GCP project. Nếu script gặp lỗi và cần debug thì clone script sang một Standard GCP project để sử dụng Cloud logging để debug server-side errors.

Leave a Reply

Your email address will not be published. Required fields are marked *