当我调用jobs.get(jobId,ProjectID)时; 我明白了:
“code”:400,“errors”:[{ “域名”:“全球”, “message”:“项目ID无效'My_Project_ID:job_6c2e8cc358ad42d2ad55ef266d342b68'。 项目ID必须包含6-63个小写字母,数字或短划线。 ID必须以。开头 一封信,可能不会以短划线结束。“, “reason”:“invalid”}],“message”:“项目ID无效'My_Project_ID:job_6c2e8cc358ad42d2ad55ef266d342b68'。项目ID必须 包含6-63个小写字母,数字或短划线。 ID必须以。开头 一封信,可能不会以短划线结束。“
(我用“My_Project_ID”切换了projectId)
如果我在google开发者指南的“试用”部分中使用了确切的projectID和jobID 在here
我按预期恢复了工作!
如果projectId或jobId不对,那么它也不会在google开发者网站上运行。 什么可能导致这种行为?
答案 0 :(得分:2)
您似乎将完全限定的作业ID作为项目ID传递。在上面提到的示例中,“My_Project_ID”是项目ID,“job_6c2e8cc358ad42d2ad55ef266d342b68”是作业ID,但看起来您正在传递完整字符串“My_Project_ID:job_6c2e8cc358ad42d2ad55ef266d342b68”作为作业ID。
另请注意,参数顺序为(projectId,jobId),而不是(jobId,projectId)。
尝试调用jobs.get(“My_Project_ID”,“job_6c2e8cc358ad42d2ad55ef266d342b68”),看看是否有效。
答案 1 :(得分:0)
尝试执行以下操作时出现此问题:
jobs()。get(projectId,job.getId())。execute()。getStatus()。getState();
似乎像job.getId()返回一个String,它包含ProjectId和JobId(并包含Job-Ids中不允许的字符)。 解决方案是调用job.getJobReference()。getJobId()。
jobs()。get(projectId,job.getJobReference()。getJobId())。execute()。getStatus()。getState();