我们已经使用Mechanical Turk Web界面创建了一批HIT。现在,我们要做的就是使用API下载批次的结果,就像您可以使用“下载CSV”在网络界面中下载批次的结果一样。
亚马逊的文档说,可以从API下载结果,如果没有,我会感到惊讶。但是经过大量的编程时间和测试,我无法获得一批的结果。
http://docs.aws.amazon.com/AWSMechTurk/latest/AWSMturkAPI/ApiReference_OperationsArticle.html
我们的问题不是要获取HIT数据,而这很容易GetHIT。我们的问题不是要获取分配数据,而是可以轻松完成GetAssignmentsForHIT。我们的问题是找出批次的HIT ID,以便仅获取该批次的结果。
我们认为我们可以做到这一点,GetHITsForQualificationType但是由于我们对所有批次都使用相同的HIT类型ID,因此这是不可能的。我可以看到的唯一其他操作是SearchHIT,但是此操作仅允许您对值进行“排序”,而不能按批次ID进行“过滤”。
如果亚马逊是SOA公司,并且遵循“吃自己的狗食”的概念,那么我想知道他们如何使用自己的API在“下载CSV”中生成结果?
任何提示将不胜感激。谢谢!
更新#1
我相信您可以SearchHITs用来抽出所有 HIT。然后使用捕获每个HIT的详细信息GetHIT。然后通过“ RequesterAnnotation”过滤所有HIT,其中实际上包含批次ID,例如“ BatchId:1234567;”。这可能是唯一的解决方案。听起来有些牵强。