2016-04-07 49 views
1

Ich versuche, diese Art von Anfrage zu machen:Wie rufe ich SetHITTypeNotification in Amazon Mechanical Turk (MTurk) mit RTurk?

https://mechanicalturk.amazonaws.com/?Service=AWSMechanicalTurkRequester 
&AWSAccessKeyId=[the Requester's Access Key ID] 
&Operation=SetHITTypeNotification 
&Signature=[signature for this request] 
&Timestamp=[your system's local time] 
&HITTypeId=T100CN9P324W00EXAMPLE 
&[email protected] 
&Notification.1.Transport=Email 
&Notification.1.Version=2006-05-05 
&Notification.1.EventType=AssignmentSubmitted 

auf der Grundlage der Dokumentation hier: http://docs.aws.amazon.com/AWSMechTurk/latest/AWSMturkAPI/ApiReference_SetHITTypeNotificationOperation.html

Hier ist mein Code:

RTurk.SetHITTypeNotification(:hit_type_id => "3M36IJVRR974ABAC76WQ0TCVKX9SIA", :notification => { :destination => "https://sqs.us-east-1.amazonaws.com/971351813114/MechanicalTurk", :transport => "SQS", :version => "2006-05-05", :event_type => "assignment_accepted" }, :active => true) 

und hier ist der Fehler, ich bin sehen:

NoMethodError: undefined method `to_param_hash' for #<Hash:0x007ffe1ed82858> 

Wer kennt sie? w was der to_param_hash Fehler bedeutet oder wie man ihn anspricht?

Antwort

1

Habe ein paar Stunden mit diesem Problem verbracht. Hier antworten, falls es anderen in der gleichen Situation hilft. Es stellt sich heraus, dass ich ein Notification-Objekt erstellen muss, was sehr sinnvoll ist, wenn Sie sich in anderen Kontexten mit der Verwendung von Benachrichtigungen in RTurk beschäftigen. Hier ist ein Schnipsel, der funktioniert:

n = RTurk::Notification.new("https://sqs.us-east-1.amazonaws.com/971351813114/MechanicalTurk", "SQS", "2006-05-05", "AssignmentAccepted") 
a = RTurk.SetHITTypeNotification(:hit_type_id => "3M36IJVRR974ABAC76WQ0TCVKX9SIA", :notification => n, :active => true) 
t = RTurk.SendTestEventNotification(:notification => n, :test_event_type => "AssignmentAccepted") 

Hoffe das hilft anderen in der gleichen Situation!