如果URL有两个或更多参数,如何为MTurk传递外部URL以创建外部问题。
前 -
<ExternalQuestion xmlns="http://mechanicalturk.amazonaws.com/AWSMechanicalTurkDataSchemas/2006-07-14/ExternalQuestion.xsd">
<ExternalURL>https://s3.amazonaws.com/mturkexternalquestion/untitled.html?color=Red&product_asin=B0100RUSI6</ExternalURL>
<FrameHeight>800</FrameHeight>
</ExternalQuestion>
我正在获取上述外部URL的XML验证。但是如果我在URL中使用一个查询参数,它就可以正常工作。
答案 0 :(得分:0)
这是因为你需要逃避&amp;参数(例如,&amp;)使其成为有效的XML。这是一个完整的Ruby代码示例,可以运行并演示:
require 'aws-sdk'
aws_access_key_id = 'YOUR_ACCESS_ID'
aws_secret_access_key = 'YOUR_SECRET_KEY'
endpoint = 'https://mturk-requester-sandbox.us-east-1.amazonaws.com'
region = 'us-east-1'
# Uncomment this line to use in production
# endpoint = 'https://mturk-requester.us-east-1.amazonaws.com'
#credentials = Aws::Credentials.new(aws_access_key_id, aws_secret_access_key)
mturk = Aws::MTurk::Client.new(endpoint: endpoint) #, credentials: credentials, region: region)
QUESTION = <<END
<ExternalQuestion xmlns="http://mechanicalturk.amazonaws.com/AWSMechanicalTurkDataSchemas/2006-07-14/ExternalQuestion.xsd">
<ExternalURL>https://s3.amazonaws.com/mturkexternalquestion/untitled.html?color=Red&product_asin=B0100RUSI6</ExternalURL>
<FrameHeight>800</FrameHeight>
</ExternalQuestion>
END
response = mturk.create_hit(title: "Example HIT",
description: "Example HIT",
lifetime_in_seconds: 60 * 60,
assignment_duration_in_seconds: 60 * 5,
max_assignments: 1,
reward: "0.25",
question: QUESTION)
p "Your HIT is created. The HIT ID is #{response.hit.hit_id}"