Google翻译API如何翻译多个文件?
How to translate multi files by Google translation API?
我想翻译多个 .pptx 文件。我正在尝试使用 Google translate API
我的请求json文件如下。
{
"source_language_code": "ja",
"target_language_codes": ["en"],
"input_configs": {
"gcsSource": {
"inputUri": "gs://project_name/1.pptx"
},
"gcsSource": {
"inputUri": "gs://project_name/2.pptx"
}
},
"output_config": {
"gcsDestination": {
"outputUriPrefix": "gs://project_name/ja-en/"
}
}
}
我在请求翻译时遇到此错误 API。
"description": "Invalid value at 'input_configs' (oneof), oneof field 'source' is already set. Cannot set 'gcsSource'"
然后我把第二个gcsSource
改成了gcsSource1
{
"source_language_code": "ja",
"target_language_codes": ["en"],
"input_configs": {
"gcsSource": {
"inputUri": "gs://project_name/1.pptx"
},
"gcsSource1": {
"inputUri": "gs://project_name/2.pptx"
}
},
"output_config": {
"gcsDestination": {
"outputUriPrefix": "gs://project_name/ja-en/"
}
}
}
结果如下。
"description": "Invalid JSON payload received. Unknown name \"gcsSource1\" at 'input_configs': Cannot find field."
gcsSource1
在 the document
中使用了 2 次
我应该如何更改请求 json 文件,以便通过翻译翻译多个文件 API?
端点是这个。 "https://translation.googleapis.com/v3/projects/project_name/locations/us-central1:batchTranslateDocument"
注
单个文件翻译工作正常。
{
"source_language_code": "ja",
"target_language_codes": ["en"],
"input_configs": {
"gcsSource": {
"inputUri": "gs://project_name/1.pptx"
},
},
"output_config": {
"gcsDestination": {
"outputUriPrefix": "gs://project_name/ja-en/"
}
}
}
问题出在 input_configs
中使用的花括号。由于要使用多个元素,因此 input_configs 应该是一个数组。所以你应该把花括号换成方括号如下:
"input_configs": [
{
"gcsSource": {
"inputUri": "gs://bucket_name/1.pptx"
}
},
{
"gcsSource": {
"inputUri": "gs://bucket_name/2.pptx"
}
}
]
此外,您不能更改 json 键的名称,因为将传递给端点的 request.json 的结构应该如文档中所述。这就是当您将密钥更改为 “gcsSource1”
时,它会提示您“找不到字段”的错误。
我想翻译多个 .pptx 文件。我正在尝试使用 Google translate API
我的请求json文件如下。
{
"source_language_code": "ja",
"target_language_codes": ["en"],
"input_configs": {
"gcsSource": {
"inputUri": "gs://project_name/1.pptx"
},
"gcsSource": {
"inputUri": "gs://project_name/2.pptx"
}
},
"output_config": {
"gcsDestination": {
"outputUriPrefix": "gs://project_name/ja-en/"
}
}
}
我在请求翻译时遇到此错误 API。
"description": "Invalid value at 'input_configs' (oneof), oneof field 'source' is already set. Cannot set 'gcsSource'"
然后我把第二个gcsSource
改成了gcsSource1
{
"source_language_code": "ja",
"target_language_codes": ["en"],
"input_configs": {
"gcsSource": {
"inputUri": "gs://project_name/1.pptx"
},
"gcsSource1": {
"inputUri": "gs://project_name/2.pptx"
}
},
"output_config": {
"gcsDestination": {
"outputUriPrefix": "gs://project_name/ja-en/"
}
}
}
结果如下。
"description": "Invalid JSON payload received. Unknown name \"gcsSource1\" at 'input_configs': Cannot find field."
gcsSource1
在 the document
我应该如何更改请求 json 文件,以便通过翻译翻译多个文件 API?
端点是这个。 "https://translation.googleapis.com/v3/projects/project_name/locations/us-central1:batchTranslateDocument"
注
单个文件翻译工作正常。
{
"source_language_code": "ja",
"target_language_codes": ["en"],
"input_configs": {
"gcsSource": {
"inputUri": "gs://project_name/1.pptx"
},
},
"output_config": {
"gcsDestination": {
"outputUriPrefix": "gs://project_name/ja-en/"
}
}
}
问题出在 input_configs
中使用的花括号。由于要使用多个元素,因此 input_configs 应该是一个数组。所以你应该把花括号换成方括号如下:
"input_configs": [
{
"gcsSource": {
"inputUri": "gs://bucket_name/1.pptx"
}
},
{
"gcsSource": {
"inputUri": "gs://bucket_name/2.pptx"
}
}
]
此外,您不能更改 json 键的名称,因为将传递给端点的 request.json 的结构应该如文档中所述。这就是当您将密钥更改为 “gcsSource1”
时,它会提示您“找不到字段”的错误。