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.
Để 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:
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:
* 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.