以 Node.js 開發的 LINE Bot 為例
作為前情提要,請先閱讀由和風信使-戴均民提供的詳細步驟的教學文件:
根據文件的描述可以知道,只要打出 POST Request 到 https://www.google-analytics.com/collect ,並且傳遞對應的必要參數,就能夠從伺服器端新增一筆紀錄到 Google Analytics。
但是原作者說在 2021/6/17 之後,這個方法就失效了,在發出 Request 後,無法在 GA 上看見對應的紀錄。
為此,我分別透過 Insomnia、Ruby、Node.js 打出對應的 Request,並且比較其結果,結果發現 Insomnia 跟 Ruby 可以正常新增 GA 紀錄,只有 Node.js 不行。
觀察了一下個別打出的 Request 之間的差異後,逐步調整打出的 Request,最後發現只要在 Headers 內的 User-Agent 包含 fetch 或開頭為 axios/,GA 就會不工作。
所以,最後我使用的程式碼如下:
只要把 Node.js 偽裝成 Ruby 就可以用 GA 了哦!
Google 到底在幹嘛?