Je suis nouveau à MTurk et j'ai essayé de mettre en œuvre mon application web pour la sélection de points sur cette plate-forme. J'ai réussi à créer un HIT en utilisant ExternalQuestion basé sur le tutoriel de kaflurbaleen.blogspot. Cependant, j'ai réalisé que le HIT ne fonctionnait pas comme je le souhaitais quand j'ai testé le code dans le bac à sable. J'ai trouvé deux problèmes comme ci-dessous.HITs créés en utilisant externalQuestion de MTurk ne travaillaient pas dans le bac à sable
Je n'ai pas pu trouver le 'assignmentId' qui était censé être ajouté à l'URL. J'ai vérifié le workersandbox et a trouvé l'adresse suivante avant l'acceptation de la tâche https://workersandbox.mturk.com/mturk/preview?groupId=3JCELWMC4P1FAXE0GMTAW1L96T93VS
Pour autant que je comprends, le « assignmentId » devrait être ajouté à l'URL après acceptation du lien ci-dessus. Et ce paramètre doit être renvoyé au serveur Mturk en utilisant la méthode 'externalSubmit'. Je trouve que les paramètres suivants après l'acceptation hitId & prevHitSubmitted & prevRequester & requesterId & prevReward & hitAutoAppDelayInSeconds & groupeId & signature
J'ai aussi réalisé l'application ne fonctionnait pas comme on le souhaite dans le iframe. Chaque (clic de souris + décalage) aurait dû créer une sphère rouge comme indiqué par le site Web d'origine https://s3.amazonaws.com/www.pickvertex3js.com/vertexpicking.html.
J'ai essayé de google pour obtenir des réponses avec peu de succès. Je suis maintenant à bout de nerfs avec ces deux problèmes qui retardent mes recherches. Toute aide sera très appréciée. Les codes pour créer le HIT en utilisant BOTO3 sont les suivants.
import boto.mturk.connection
# define the host environment
sandbox_host = 'mechanicalturk.sandbox.amazonaws.com'
real_host = 'mechanicalturk.amazonaws.com'
mturk = boto.mturk.connection.MTurkConnection(
host = sandbox_host,
debug = 1
)
# test the setup of boto by printing the version and account balance
print(boto.Version)
print(mturk.get_account_balance())
# link to my web app, which will be loaded by the iframe of Mturk
URL = "https://s3.amazonaws.com/www.pickvertex3js.com/vertexpicking.html"
# setting task description of the iframe
title = "A Special HIT for Picking!"
description = "Vertex picking!"
keywords = ["3D mesh", "vertices"]
frame_height = 500 # the height of the iframe holding the external hit
amount = .00
# creating the HIT (task)
questionform = boto.mturk.question.ExternalQuestion(URL, frame_height)
response = mturk.create_hit(
title = title,
description = description,
keywords = keywords,
question = questionform,
reward = boto.mturk.price.Price(amount = amount),
response_groups = ('Minimal', 'HITDetail'),
)
# trying to get some outputs
HIT = response[0]
assert response.status
print ('[create_hit(%s, $%s): %s]' % (URL, amount, HIT.HITId))
# The response included several fields that will be helpful later
print ('Your HIT has been created. You can see it at this link:')
print ('https://workersandbox.mturk.com/mturk/preview?groupId={}'.format(HIT.HITTypeId))
print ('Your HIT ID is: {}'.format(HIT.HITId))