tunr / slimsurveys-api-php
是SlimSurveys API的REST客户端。
Requires
- php: >=5.3.0
Requires (Dev)
- mockery/mockery: >=0.7.2
- phpunit/phpunit: 3.7.*
This package is not auto-updated.
Last update: 2024-09-24 05:00:10 UTC
README
##SlimSurveys API PHP客户端
SlimSurveys是一个微调查平台,帮助人们通过30秒或更短的调查提高调查完成率和放弃率。
此存储库包含用于与SlimSurveys API接口的PHP客户端库。
API密钥
首先,访问SlimSurveys网站请求API密钥。
https://slimsurveys.com/developer
安装
在您的composer.json
文件中需要SlimSurveys客户端。
"tunr/slimsurveys-api-php": "1.0.*"
然后运行composer install
以获取代码并更新自动加载器。
创建客户端
现在有了您可靠的API密钥,创建客户端实例。
$key = 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX';
$slimClient = new \SlimSurveys\Client($key);
然后可以在客户端实例上调用API方法。
$response = $slimClient->getMySurveys();
身份验证
仅仅将API密钥传递给客户端构造函数只能让你走这么远,因为大多数API请求都需要一个身份验证令牌。使用您的SlimSurveys用户账户电子邮件和密码,您可以请求一个身份验证令牌,如下所示...
$email = 'lamehandle@somewhere.com';
$password = 'XXXXXXXX';
$response = $slimClient->getAuthToken($email, $password);
$data = $response->getData();
$token = $data->token;
目前身份验证令牌没有过期,因此它可以存储并用于多个请求。一旦您有了令牌,它可以通过构造函数传递给客户端。
$key = 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX';
$token = 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX';
$slimClient = new \SlimSurveys\Client($key, $token);
您还可以使用令牌设置器将令牌传递给现有的客户端,如果客户端创建时不可用。
$slimClient->setToken($token);
响应
以下方法可用于检查API方法的响应。
$response->getInfo();
$response->getCode();
$response->isCode($expectedCode);
示例
$response = $slimClient->getAuthToken($email, $password);
if ($response->isCode(200))
{
$data = $response->getData();
$token = $data->token;
}
else
{
// things might not be as awesome as you expected
}
数据
数据获取器允许您返回由SlimSurveys API返回的JSON数据的格式化版本。数据默认返回为对象,但可以通过传递true
给数据获取器以返回关联数组。
$data = $response->getData(true);
$token = $data['token'];
调试
由于每个API方法都返回整个客户端实例,因此简单的var_dump($response)
可以提供有关API请求配置的一些可见性。
$response = $slimClient->getMySurveys();
var_dump($response);
API方法
以下API方法可用。它们的顺序与API文档中相同,因此您可以轻松地将方法与官方文档匹配起来。
身份验证
getAuthToken($email, $password)
答案
getSurveyAnswers($surveyId, $uvid = null)
getSurveyAnswersByUid($surveyUid, $uvid = null)
getQuestionAnswers($questionId)
createQuestionAnswer($questionId, $answer, $milestone = '', $uvid = '')
身份
createSurveyIdentity($surveyId, $uvid, $data)
createSurveyIdentityByUid($surveyUid, $uvid, $data)
图片
getImage($imageId)
createQuestionImage($questionId, $file, $position = 0)
deleteImage($imageId)
选项
getOption($optionId)
createQuestionOption($questionId, $value = null, $position = 0)
updateOption($optionId, $value, $position = 0)
deleteOption($optionId)
问题
getQuestion($questionId)
createSurveyQuestion($surveyId, $type, $text = '', $position = 0)
createSurveyQuestionByUid($surveyUid, $type, $text = '', $position = 0)
updateQuestion($questionId, $text = '', $position = 0)
deleteQuestion($questionId)
结果
getSurveyResults($surveyId)
getSurveyResultsByUid($surveyUid)
getQuestionResults($questionId)
调查
getSurvey($surveyId)
getSurveyByUid($surveyUid)
getSurveyEmbed($surveyId)
getSurveyEmbedByUid($surveyUid)
getUserSurveys($userId)
getUserSurveysByUsername($username)
getMySurveys()
createSurvey(
$name,
$description = null,
$refresh = false,
$repeat = false,
$metadata = null,
$callback = null
)
updateSurvey(
$surveyId,
$name,
$description = null,
$refresh = false,
$repeat = false,
$metadata = null,
$callback = null
)
updateSurveyByUid(
$surveyUid,
$name,
$description = null,
$refresh = false,
$repeat = false,
$metadata = null,
$callback = null
)
copySurvey($surveyId)
copySurveyByUid($surveyUid)
deleteSurvey($surveyId)
用户
me()
register($email, $password, $notifications = true)
getPasswordResetToken($email)
resetPassword($token, $password, $confirm)
updateSurveyTab($surveyId)
updateSurveyTabByUid($surveyUid)
updateVanityName($name)
updatePrivacy($flag)
updateEmail($email)
updateThanks($facebookUrl = null, $twitterUrl = null, $websiteUrl = null)
updatePassword($password, $confirm)
deleteSurveyTab()
需求
- PHP 5.3+
- cURL
注意:如果使用类前缀而不是命名空间,则PHP < 5.3的版本也可以工作。