We created HIT batches using the Mechanical Turk web interface. Now all we want to do is download the results for the package using the API, just as you can download the results for the package in the web interface using "Download CSV".
Amazon documentation says loading results from the API is possible, and I would be surprised if this is not the case. But after many hours of programming and testing, I could not get the package results.
http://docs.aws.amazon.com/AWSMechTurk/latest/AWSMturkAPI/ApiReference_OperationsArticle.html
Our problem is not to get the HIT data, it is easy with GetHIT . Our problem is not getting destination data, which is easy to do with GetAssignmentsForHIT . Our problem is to determine the identifiers of the HIT package, so that we only get the results of this batch.
We thought we could do it with GetHITsForQualificationType , but since we use the same HIT type identifier for all parties, this is not possible. The only other operation that I see is SearchHITs, but this operation allows you to "sort" the values ββrather than "filter", for example, the batch identifier.
If Amazon is an SOA company and they follow the concept of "eat their own dog food," I wonder how they generate results in "Download CSV" using their APIs.
Any hints would be greatly appreciated. Thanks!
UPDATE # 1
I think you could use SearchHITs to pull out all the HITs. Then grab the data for each HIT using GetHIT . Then filter out all the HITs with "RequesterAnnotation", which actually contains the batch ID, for example, "BatchId: 1234567;". This may be the only solution. That sounds a little strange.