Imgix Purge Post 请求因未知原因失败
Imgix Purge Post Request fails for unknown reason
我想从 imgix 缓存中清除一张图片,他们有一个 API (https://docs.imgix.com/setup/purging-images)
我使用 axios 从我的 nodejs 后端发出请求:
const imgixKey = functions.config().imgix.key;
const headers = {
Authorization: `Bearer ${imgixKey}`,
'Content-Type': 'application/json',
};
const data = JSON.stringify({
type: 'purges',
attributes: {
url: href,
source_id: 'SOsourceId',
},
});
try {
await axios.post('https://api.imgix.com/api/v1/purge', data, { headers });
functions.logger.log('Purged Image successfully' + href);
} catch (e) {
functions.logger.error('Error removing image from cache ' + href + ' -> ' + e);
}
Error removing image from cache {Whosebugimgpath.png} -> Error: Request failed with status code 400
问题是除了状态代码 400 之外没有其他指定,我检查了图像路径并尝试了不同的 Content-Type
headers 就像在他们的示例中一样,但这也没有用。
由于我无法从回复中获得更多信息,我在这里寻求帮助,因为我不知道如何继续。
检查 imgix 文档,您的请求正文应该有一个数据 属性:
curl -X POST 'https://api.imgix.com/api/v1/purge' \
--header 'Authorization: Bearer <api-key>' \
--header 'Content-Type: application/vnd.api+json' \
--data-raw '{ "data": { "attributes": { "url": "<url-to-purge>" }, "type": "purges" } }'
因此,只需将您的消息修改为(将数据 属性 添加到您的 json 对象):
const data = JSON.stringify({
data: {
type: 'purges',
attributes: {
url: href,
source_id: 'SOsourceId',
},
}
});
我想从 imgix 缓存中清除一张图片,他们有一个 API (https://docs.imgix.com/setup/purging-images)
我使用 axios 从我的 nodejs 后端发出请求:
const imgixKey = functions.config().imgix.key;
const headers = {
Authorization: `Bearer ${imgixKey}`,
'Content-Type': 'application/json',
};
const data = JSON.stringify({
type: 'purges',
attributes: {
url: href,
source_id: 'SOsourceId',
},
});
try {
await axios.post('https://api.imgix.com/api/v1/purge', data, { headers });
functions.logger.log('Purged Image successfully' + href);
} catch (e) {
functions.logger.error('Error removing image from cache ' + href + ' -> ' + e);
}
Error removing image from cache {Whosebugimgpath.png} -> Error: Request failed with status code 400
问题是除了状态代码 400 之外没有其他指定,我检查了图像路径并尝试了不同的 Content-Type
headers 就像在他们的示例中一样,但这也没有用。
由于我无法从回复中获得更多信息,我在这里寻求帮助,因为我不知道如何继续。
检查 imgix 文档,您的请求正文应该有一个数据 属性:
curl -X POST 'https://api.imgix.com/api/v1/purge' \
--header 'Authorization: Bearer <api-key>' \
--header 'Content-Type: application/vnd.api+json' \
--data-raw '{ "data": { "attributes": { "url": "<url-to-purge>" }, "type": "purges" } }'
因此,只需将您的消息修改为(将数据 属性 添加到您的 json 对象):
const data = JSON.stringify({
data: {
type: 'purges',
attributes: {
url: href,
source_id: 'SOsourceId',
},
}
});