cmdev/mturk-php

提供与亚马逊机械师API通信的简单库。这是ctrlcctrlv/mturk-php的分支

dev-master 2017-02-15 06:40 UTC

This package is not auto-updated.

Last update: 2024-09-23 15:18:57 UTC


README

完全用PHP编写的机械师API,使用官方文档中的相同名称

mturk.php是一个小型库,向机械师发送请求。它比其他库简单得多,这些库重新定义了机械师识别的每个函数。这为您节省了时间,您只需要关注机械师API,而无需担心库。

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

阅读官方mTurk API文档这里

https://github.com/crowdmetricdevs/mturk-php/edit/master/README.md

安装

通过将mturk-php添加到您的composer.json文件中进行安装

require : {
    "cmdev/mturk-php": "dev-master"
}

或使用composer命令

composer require "cmdev/mturk-php": "dev-master"

示例配置文件(mturk.php)

$config = [
    "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));
?>

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