python - 创建后无法将资产发布或处理为内容
问题描述
我将 Python 客户端用于Contentful Content Management API ,目前无法处理或发布资产。在每种情况下,API 都会返回:
contentful_management.errors. NotFoundError: HTTP status code: 404 Message: The resource could not be found. Details: The requested Asset could not be found.
创建资产后,我可以访问其 id,因此假设那时我应该能够处理和发布。我的代码如下。有谁知道我可能做错了什么?
"""
Creating an asset requires three steps and API calls:
1. Create an asset.
2. Process an asset.
3. Publish an asset.
"""
def create_asset(self, path):
p = os.path.abspath(path)
return self.authorised_user.uploads(self.test_space_id).create(p)
def process_asset(self, asset_id):
asset = self.authorised_user.assets(self.test_space_id, self.test_environment_id).find(asset_id)
asset.process()
def publish_asset(self, asset_id):
asset = self.authorised_user.assets(self.test_space_id, self.test_environment_id).find(asset_id)
asset.publish()
解决方案
您正在上传文件,但未在create_asset
函数中创建资产。这是执行所有步骤的代码:
import os
import time
from contentful_management import Client
client = Client(os.environ['CMA_TOKEN'])
space_id = 'space_id'
environment_id = 'master'
title = 'Title'
file_to_upload = '/path/to/file/image.jpeg'
fileName = os.path.basename
contentType = 'image/jpeg'
new_upload = client.uploads(space_id).create(file_to_upload)
file_attributes = {
'fields': {
'title': {
'en-US': title
},
'file': {
'en-US': {
'fileName': fileName,
'contentType': contentType,
'uploadFrom': new_upload.to_link().to_json()
}
}
}
}
new_asset = client.assets(space_id, environment_id).create(
None, # change this to a string if you want to specify the asset ID
file_attributes
)
new_asset.process()
# it might take a few seconds for the asset processing to complete
while new_asset.url is None:
time.sleep(1)
new_asset.reload()
new_asset.publish()
推荐阅读
- java - Is calling close() on object returned by MockitoAnnotations.openMocks(Object) is mandatory?
- typescript - 根据未定义检查参数,但编译器仍然警告 TS2532
- xcode - 从 Flutter 项目中删除蓝牙使用
- python - 如何在 python django 的导航栏中获取图像?
- python - 如何通过Django导出多个文件
- python - Python 3 中的堆实现
- python - 如何在 Python 中列出所有类 cached_properties?
- html-table - HTML 表格在 Open Office Writer 中无法正确显示
- azure - 如何在 Python 中从 YAML 文件创建 Azure ML Inference_Config 和 Deployment_Config 类对象?
- arrays - 当我的索引是变量时无法访问数组值