本文說明使用 CSS API 的一些最佳做法。您不一定要按照本頁的建議使用 API,但這些建議有助於釐清部分預期用途。
設定環境
如要設定開發環境,請按照快速入門說明文件中的步驟操作。
- 在 Google Cloud Console 中產生使用者和權限 JSON 檔案
- 在 Google Cloud Console 中啟用 CSS API
- 將該使用者新增至 CSS 帳戶 (CSS 群組或 CSS 網域),並授予管理員權限
- 請確認您使用的 OAuth 範圍是否正確:
https://www.googleapis.com/auth/content
現在,大多數程式設計語言的標準存放區都提供用戶端程式庫。如需完整清單,請前往用戶端程式庫頁面。
使用正確的 ID
請使用正確的 ID 和 API 端點:
- CSS API (
css.googleapis.com
):與 CSS 產品互動時 (例如accounts/{cssDomainId}/cssProductInputs:insert
)。 - Merchant API (
merchantapi.googleapis.com
):使用 Merchant API 處理標準商家產品。
如果混用,就會發生錯誤。詳情請參閱 CSS API 總覽。
入門好方法
建議您使用下列方法進行測試:
ListChildAccounts
ListChildAccounts 是唯讀呼叫,會列出所有 CSS 網域 (如果呼叫的對象是 CSS 群組) 或商家 (如果呼叫的對象是 CSS 網域)。因此,這是測試所有設定是否正確的好方法。
插入/列出/更新/刪除產品
確認 API 本身運作正常後,請嘗試新增產品。請務必使用您記得的 raw_provided_id
。
- 使用 InsertCssProductInput 插入測試產品。如需傳送哪些屬性的相關說明,請參閱程式碼範例。
- 使用 ListCssProducts 列出所有產品。插入產品後,系統會稍微延遲處理,因此如果沒有看到產品,請稍候幾秒再試一次。
- 使用
cssproductinput.name
,透過 UpdateCssProductInput 更新單一產品。你只需要傳送需要更新的屬性。請參閱這個程式碼範例。 - 使用 DeleteCssProductInput 刪除測試產品。您必須使用
raw_provided_id
。
使用 Async 提升效能
CSS API 專為平行呼叫而設計。您會發現單一作業的效能可能較慢,但平行呼叫相同作業多次時,效能會快上許多。如要充分運用這項功能,建議使用程式設計語言的非同步功能。
以下是部分程式設計語言的範例:
- 如果是 Java,請使用 insertCssProductInputCallable().futureCall()
- 如果是 Python,請使用 CssProductInputsServiceAsyncClient
- 如果是 C#,請使用 InsertCssProductInputAsync
找出並使用程式設計語言的 Async 功能,同時插入多項產品。您不必擔心系統負載過重,因為這正是配額限制的用途。
詳情請參閱成效頁面。
驗證酬載
為避免發生常見錯誤,請確認 JSON 酬載的格式正確無誤:
- 參閱官方文件:請務必參閱最新的 CSS API 參考資料,瞭解欄位定義、列舉、資料類型和酬載結構。
- 查看酬載範例:比對您的酬載與提供的程式碼範例,找出差異。
- 資料類型:請務必使用文件指定的正確資料類型 (例如字串、物件、陣列)。
- 逐步測試:先從最少的有效酬載開始,確認基本連線,然後逐步新增更多屬性。
更新產品
產品上傳後,除非更新、刪除或過期,否則會一直保留在系統中。
- 如要更新完整產品,請使用最初使用的
raw_provided_id
再次傳送InsertCssProductInput
要求。目前,即使只有部分屬性 (可能只有價格/供應情形) 變更,你仍須傳送完整的產品資料。 - 您可以使用 PATCH 方法
UpdateCssProductInput
更新產品的部分內容,方法是指定產品名稱,以及包含要更新產品資料的 JSON 主體。與需要提供所有適用欄位的InsertCssProductInput
不同,UpdateCssProductInput
只需要您指定要變更的欄位。 - 您可以呼叫
DeleteCssProductInput
並使用相同的raw_provided_id
刪除產品。 - 產品會在上次更新後約一個月自動過期。
連續運作模式
連續作業模式可能如下所示:
- 使用自己的內部 ID 做為
raw_provided_id
。 - 定期重新上傳所有產品,例如每週一次。這樣才能確保有效產品不會過期。
- 從商家取得變更後的資料後,請立即更新個別產品。
- 如果無法立即對變更做出反應,請經常 (可能每小時) 找出所有變更的產品,然後只重新上傳這些產品。
- 如果產品已停售,你可以使用刪除呼叫或將可用的優惠數量設為 0。
- 請勿頻繁傳送未變更的產品。這些呼叫會計入您的 API 配額。每週更新一次即可。
選取主打商品
主打商品不一定要是網站上最熱門或最便宜的商品,但必須醒目顯示。如果頂端廣告快速變動,您可以使用這項功能選取較穩定的廣告。
不時重新檢查這份文件
我們已收到有關如何改善這項 API 的意見回饋,目前正努力推出部分改善項目。如有可簡化 CSS API 用法的新功能,我們會更新這個頁面。