如何将用户添加到资格认证

Dav*_*542 3 python mechanicalturk boto

我在机械土耳其人的UI中添加了资格证书.然后,我将如何添加一个工人.这是我正在尝试的:

qualification_id = '3RVX62BZKNDM4K4RT7JU0YN4QTRLP2' # this has been added
worker_id = 'A1D23ERS0X4J9D' # this user has already answered a HIT
Run Code Online (Sandbox Code Playgroud)

像(在伪代码中)的东西:

qual = Qualifcation('3RVX62BZKNDM4K4RT7JU0YN4QTRLP2').add_worker('A1D23ERS0X4J9D')
Run Code Online (Sandbox Code Playgroud)

我如何在实践中这样做,这样只有预先指定的工人可以在我的HIT上工作?

miw*_*iwe 5

如果您了解分配资格的性质(如下所示),您将能够轻松地找到适合您的代码的方法.

在mTurk上,您为工人分配资格,而不是相反.例如,在请求者浏览器用户界面中,您将执行以下操作,为已经为您解决了命中的工作人员分配资格:

  1. manage > workers
  2. 找到并单击正确的工作者ID,然后单击 assign a qualification type

Mturk API提供了两种分配资格的方法:

  1. 分配资格操作(如果工人没有请求资格)
  2. 资格认证操作(如果工人要求资格认证)

使用boto,根据它的API,您可以使用以下操作:

  1. assign_qualification(qualification_type_id, worker_id, value=1, send_notification=True)- > boto api链接
  2. grant_qualification(qualification_request_id, integer_value=1) - > boto API链接

注1:如果我没有弄错,你只能为实际解决了你的一个打击(或者已经要求资格)的工人分配资格,而不是给那些你还没有任何通信的工人.但是,MTurk最近更新了,我不知道这是否已经改变.注意2:如果您有一个最终的工作人员ID列表,您要为其分配资格(例如,从之前的命中),您可能需要考虑使用命令行工具.