1
我試圖從使用API v3.0的mailchimp數據庫清理舊產品。Mailchimp - 刪除所有產品
Mailchimp的電子商務documentation說明如何使用刪除單品:
DELETE /ecommerce/stores/{store_id}/products/{product_id}
有沒有辦法立刻刪除所有的產品?由於我有成千上萬的記錄要刪除,所以我無法手動完成。
我試圖從使用API v3.0的mailchimp數據庫清理舊產品。Mailchimp - 刪除所有產品
Mailchimp的電子商務documentation說明如何使用刪除單品:
DELETE /ecommerce/stores/{store_id}/products/{product_id}
有沒有辦法立刻刪除所有的產品?由於我有成千上萬的記錄要刪除,所以我無法手動完成。
我無法找到一個方法來刪除所有產品的一次,所以我寫了一個劇本的NodeJS刪除產品批次:
// delete-script.js
const request = require('request')
const headers = { 'Authorization': 'Basic XXX-usX' }
const productsUri = 'https://usX.api.mailchimp.com/3.0/ecommerce/stores/XX/products'
const erasePage = request.bind(this, {
uri: `${productsUri}?count=1000`,
method: "GET",
headers
}, (err, res, body) => {
const products = JSON.parse(body).products
const length = products.length
if (length === 0) return
let resolvedDeletions = 0
products.forEach(({ id }) => {
request({
uri: `${productsUri}/${id}`,
method: 'DELETE',
headers
}, err => {
if (err) return console.error(err)
console.log('deleted ', id)
if (++resolvedDeletions === length) erasePage()
})
})
})
erasePage()
只需npm install request
然後執行腳本node delete-script.js