0

我正在尝试设置 Rturk 将一些工作外包给亚马逊的 Mechanical Turk。当我尝试创建我的HITs时,我一直在控制台中遇到以下错误:

RestClient::BadRequest: 400 Bad Request

当我复制 URL 并将其粘贴到浏览器中以获取响应时,我收到以下消息:

This user is not authorized to perform the requested operation

你们知道这里会发生什么吗?我正在关注 github 上的 rturk 文档。https://github.com/mdp/rturk gem 是否有可能需要更新?

RTurk.setup(ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY_ID'], :sandbox => true)

  hit = RTurk::Hit.create(
    :title => "Sample turk",
    :assignments_duration => 1.hour,
    :expires_at => 1.day.from_now
  ) do |hit|
    hit.lifetime = 1.day
    hit.assignments = 1
    hit.description = "Test description."
    hit.keywords = "places, search, map, location"
    hit.question(mturk-fb_path, :frame_height => 750)
    hit.reward = reward
    if approval_rate
      hit.qualifications.add :approval_rate, { :gt => approval_rate }
    end         if abandoned_rate
      hit.qualifications.add :abandoned_rate, { :lt => abandoned_rate }
    end
    if is_us
      hit.qualifications.add :country, { :eql => "US" }
    end
  end    
}
4

1 回答 1

0

这里可能会发生一些事情:

  • 我不相信:assignments_duration并且:expires_at是有效的选择。您应该使用它hit.duration来指定工作人员在接受命中后必须完成的时间量,并hit.lifetime设置命中到期前的时间量。
  • 这可能只是您帖子中的错字,但mturk-fb_path不是有效的 ruby​​ 变量名。(不能使用破折号)

尝试从最简单的例子开始,一旦你开始工作,你就可以构建它。这个来自 rturk 的例子应该是一个好的开始:https ://github.com/mdp/rturk#creating-hits 。

此外,我绝对建议阅读 mturk 文档以创建热门:http ://docs.aws.amazon.com/AWSMechTurk/2011-10-01/AWSMturkAPI/ApiReference_CreateHITOperation.html 。

于 2013-01-28T22:54:54.500 回答