1

当我打电话给 jobs.get(jobId,ProjectID); 我得到:

"code" : 400, "errors" : [ { "domain" : "global", "message" : "Invalid project ID 'My_Project_ID:job_6c2e8cc358ad42d2ad55ef266d342b68'。项目 ID 必须包含 6-63 个小写字母、数字或破折号。ID必须以字母开头,不能以破折号结尾。", "reason" : "invalid" } ], "message" : "Invalid project ID 'My_Project_ID:job_6c2e8cc358ad42d2ad55ef266d342b68'。项目 ID 必须包含 6-63 个小写字母、数字, 或破折号。ID 必须以字母开头,不得以破折号结尾。”

(我用“My_Project_ID”切换了 projectId)

如果我在此处的 google 开发人员指南的“试用”部分中使用确切的 projectID 和 jobID

我按预期得到了工作!

如果 projectId 或 jobId 不正确,那么它也不会在谷歌开发者网站上工作。什么会导致这种行为?

4

2 回答 2

2

看起来您将完全限定的作业 ID 作为项目 ID 传递。在上面提到的示例中,“My_Project_ID”是项目 ID,“job_6c2e8cc358ad42d2ad55ef266d342b68”是作业 ID,但看起来您正在传递完整的字符串“My_Project_ID:job_6c2e8cc358ad42d2ad55ef266d342b68”作为作业 ID。

另请注意,参数 order 是 (projectId, jobId),而不是 (jobId, projectId)。

尝试调用 jobs.get("My_Project_ID", "job_6c2e8cc358ad42d2ad55ef266d342b68"),看看是否可行。

于 2012-12-03T17:41:26.253 回答
0

我在尝试执行以下操作时遇到了这个问题:

工作().get(projectId, job.getId()).execute().getStatus().getState();

似乎 job.getId() 返回一个包含 ProjectId 和 JobId 的字符串(并包含 Job-Ids 中不允许的字符)。解决方案是改为调用 job.getJobReference().getJobId()。

jobs().get(projectId, job.getJobReference().getJobId()).execute().getStatus().getState();

于 2014-08-26T12:22:08.530 回答