In [1]:
import boto3

In [2]:
aws_access_key_id = "AKIAJ7ODKKKLEQNUJYZA"
aws_secret_access_key = "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"
aws_region = "us-east-1"
client = boto3.client('mturk', region_name= "us-east-1", aws_access_key_id=aws_access_key_id, aws_secret_access_key=aws_secret_access_key)

In [13]:
client.approve_assignment(AssignmentId="3QFUFYSY9ZFOQSZK8PZXFP84UVOF4N")


Out[13]:
{'ResponseMetadata': {'RequestId': '5c6b81ce-fc0c-4125-a1c2-bfc4d157bfa9',
  'HTTPStatusCode': 200,
  'HTTPHeaders': {'x-amzn-requestid': '5c6b81ce-fc0c-4125-a1c2-bfc4d157bfa9',
   'content-type': 'application/x-amz-json-1.1',
   'content-length': '2',
   'date': 'Sun, 03 Mar 2019 01:04:12 GMT'},
  'RetryAttempts': 0}}

In [15]:
client.list_assignments_for_hit(HITId='3R0WOCG21N9NNMH96NQNG98SB7WUDM', AssignmentStatuses=['Submitted'])


Out[15]:
{'NextToken': 'p1:thjV0Iu9KED6Jtn5ylDyJ+bUn3ooStDrFP8Z1CmhpFWeCbNFBveoYz1nm2qSsQ==',
 'NumResults': 1,
 'Assignments': [{'AssignmentId': '3QFUFYSY9ZFOQSZK8PZXFP84UVOF4N',
   'WorkerId': 'A19H44LQJ0TEXF',
   'HITId': '3R0WOCG21N9NNMH96NQNG98SB7WUDM',
   'AssignmentStatus': 'Approved',
   'AutoApprovalTime': datetime.datetime(2019, 4, 1, 15, 56, 22, tzinfo=tzlocal()),
   'AcceptTime': datetime.datetime(2019, 3, 2, 14, 51, 24, tzinfo=tzlocal()),
   'SubmitTime': datetime.datetime(2019, 3, 2, 14, 56, 22, tzinfo=tzlocal()),
   'ApprovalTime': datetime.datetime(2019, 3, 2, 17, 4, 12, tzinfo=tzlocal()),
   'Answer': '<?xml version="1.0" encoding="ASCII"?><QuestionFormAnswers xmlns="http://mechanicalturk.amazonaws.com/AWSMechanicalTurkDataSchemas/2005-10-01/QuestionFormAnswers.xsd"><Answer><QuestionIdentifier>workerId</QuestionIdentifier><FreeText>A19H44LQJ0TEXF</FreeText></Answer></QuestionFormAnswers>'}],
 'ResponseMetadata': {'RequestId': 'c20c08c1-c74f-4fdb-a170-78a45f8b7369',
  'HTTPStatusCode': 200,
  'HTTPHeaders': {'x-amzn-requestid': 'c20c08c1-c74f-4fdb-a170-78a45f8b7369',
   'content-type': 'application/x-amz-json-1.1',
   'content-length': '687',
   'date': 'Sun, 03 Mar 2019 01:04:29 GMT'},
  'RetryAttempts': 0}}

In [5]:
def approve_all_submitted_assignments(client):
    for id in [h['HITId'] for h in client.list_hits()['HITs']]:
        lst = client.list_assignments_for_hit(HITId=id, AssignmentStatuses=['Submitted'])
        for aid in [a["AssignmentId"] for a in lst["Assignments"]]:
            client.approve_assignment(AssignmentId=aid)

In [6]:
approve_all_submitted_assignments(client)

In [ ]: