Google Vision API操作ID格式无效



我使用Google Vision API从文档(PDF(中提取文本已经有一段时间了,但刚刚遇到一个问题。我已经创建了一个长期运行的作业,现在我需要检查作业状态。根据文档,GET请求应该是;

GET https://vision.googleapis.com/v1/operations/operation-id

然而,当我尝试时,我得到了回应;

{ "error": { "code": 400, "message": "Invalid operation id format. Valid format is either projects/*/operations/* or projects/*/locations/*/operations/*", "status": "INVALID_ARGUMENT" } }

好的,没问题,所以我浏览了文档,根据消息,我应该能够做以下事情;

https://vision.googleapis.com/v1/projects/project-id/operations/1efec2285bd442df

或者;

https://vision.googleapis.com/v1/projects/project-id/locations/location-id/operations/1efec2285bd442df

我的最后一段代码是使用PHP Curl的GET请求;

$url = "https://vision.googleapis.com/v1/projects/myproject-id/operations/longrunningjobid";
// create a curl request
$ch = curl_init($url);
// define the parameters
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Authorization:Bearer $token", "Content-Type: application/json; charset=utf-8"));
// execute the request
$result = curl_exec($ch);
// close the connection
curl_close($ch);
echo $result;

我已经尝试了几种url的组合,试图让它发挥作用。我的gcp项目id是正确的,作业编号也是正确的,但我觉得url不对。有什么想法吗?

实现是正确的,但我在代码的早期使用了regex,没有意识到PHP中的字符转义方式与javascript中的不同。

所以在javascript中,我使用\n来转义它,但在PHP中,我需要使用\n

这导致长期作业ID的字符太多。

相关内容

  • 没有找到相关文章

最新更新