mTurk_PHP 封装器

v1.2 2015-08-13 18:39 UTC

This package is auto-updated.

Last update: 2024-08-29 04:00:00 UTC


README

使用与官方文档相同的名称编写的完整的 Mechanical Turk API,用 PHP 实现

mturk.php 是一个小的库,它向 Mechanical Turk 发送请求。它比其他重新定义 Mechanical Turk 所识别的每个函数的库要简单得多。这样可以节省您的时间,您只需关注 Mechanical Turk API,而无需担心库。

mturk.php 以我的原始 mTurk 库 mturk.py 的精神编写。两个库之间大部分名称保持不变。

请在这里阅读官方 mTurk API 文档 here

示例配置文件(mturkconfig.json)

{
"use_sandbox" : false,
"verify_mturk_ssl" : true,
"aws_key" : "ACCESSID",
"aws_secret_key" : "PASSWORD"
}

获取您的余额

$m = new MechanicalTurk();
$r = $m->request('GetAccountBalance');
if (MechanicalTurk::is_valid($r))
    echo 'Your balance is: ' . MechanicalTurk::get_response_element($r, 'Amount');

创建一个 HIT

<?php
$question = <<<QUESTION
<?xml version="1.0" encoding="UTF-8"?>
<QuestionForm xmlns="http://mechanicalturk.amazonaws.com/AWSMechanicalTurkDataSchemas/2005-10-01/QuestionForm.xsd">
  <Question>
    <QuestionIdentifier>answer</QuestionIdentifier>
    <QuestionContent>
      <Text>Hello world :^)</Text>
    </QuestionContent>
    <AnswerSpecification>
      <FreeTextAnswer/>
    </AnswerSpecification>
  </Question>
</QuestionForm>
QUESTION;

$qual = array(
    array('QualificationTypeId' => MechanicalTurk::N_APPROVED,
          'Comparator' => 'GreaterThan',
          'IntegerValue' => 18),
    array('QualificationTypeId' => MechanicalTurk::P_APPROVED,
          'Comparator' => 'GreaterThan',
          'IntegerValue' => 75)
);

$reward = array(array('Amount' => 5, 'CurrencyCode' => 'USD'));

$createhit = array("Title" => "Testing mturk-php API",
                   "Description" => "https://github.com/ctrlcctrlv/mturk-php",
                   "Keywords" => "testing, one, two, three",
                   "Reward" => $reward,
                   "Question" => $question,
                   "QualificationRequirement" => $qual,
                   "AssignmentDurationInSeconds" => 90,
                   "LifetimeInSeconds" => (60*60*24));

$m = new MechanicalTurk();
$r = $m->request('CreateHIT', $createhit);
var_dump($r);
var_dump(MechanicalTurk::is_valid($r));
?>

如果您发现任何错误,请打开一个新问题。