ПланФикс API: Пример получения списка проектов на php
Материал из ПланФикс
Версия от 15:32, 15 марта 2011; SliZzzZ (обсуждение | вклад)
Простой пример получения списка проектов и вывод его. Из примера становится ясно назначение параметра sid.
<?php
$api_server = 'https://api.planfix.ru/xml/';
$api_key = 'APIKey-ВАШЕГО_ПРИЛОЖЕНИЯ';// смотри http://dev.planfix.ru/
$api_secret = 'APISecret-ВАШЕГО_ПРИЛОЖЕНИЯ';
$planfixAccount = 'ВАШ_АККАУНТ';
$planfixUser = 'ЛОГИН_ПОЛЬЗОВАТЕЛЯ_В_ПЛАНФИКС';
$planfixUserPassword = 'ПАРОЛЬ_ПОЛЬЗОВАТЕЛЯ';
include 'lib.php';
$requestXml = new SimpleXMLElement('<?xml version="1.0" encoding="UTF-8"?><request method="auth.login"><account></account><login></login><password></password></request>');
$requestXml->account = $planfixAccount;
$requestXml->login = $planfixUser;
$requestXml->password = $planfixUserPassword;
$requestXml->signature = make_sign($requestXml, $api_secret);
$result = apiRequest($api_server, $api_key, $requestXml);
if(!$result['success']) {
echo $result['response'];
exit();
}
$apiResult = $result['response'];
parseAPIError($apiResult);
/**
* Важно понимать:
* 1 - что полученный идентификатор сессии необходим для вызова всех остальных функций;
* 2 - время жизни сессии ограничено 20-ю минутами;
* 3 - при каждом следующем вызове это время продлевается;
* 4 - сессию не надо получать перед каждым вызовом функции (количество запросов ограничено);
*/
$api_sid = $apiResult->sid;
echo "sid is: $api_sid<br>";
/*
* получаем список доступных нам проектов и выводим его
* используем функции на: http://goo.gl/E41Vv
*/
$requestXml = new SimpleXMLElement('<?xml version="1.0" encoding="UTF-8"?><request method="project.getList"><account></account><sid></sid></request>');
$requestXml->account = $planfixAccount;
$requestXml->sid = $api_sid;
$requestXml->pageCurrent = 1;
// остальные параметры являются необязательными, поэкспериментируйте сами
$requestXml->signature = make_sign($requestXml, $api_secret);
$result = apiRequest($api_server, $api_key, $requestXml);
if(!$result['success']) {
echo $result['response'];
exit();
}
$apiResult = $result['response'];
parseAPIError($apiResult);
$totalCount = $apiResult->projects['totalCount'];
$count = $apiResult->projects['count'];
echo "Всего проектов $totalCount<br>";
echo "Получено проектов $count<br>";
foreach($apiResult->projects->project as $project) {
echo "Проект:{$project->title} создатель:{$project->owner->name}";
echo '<br>';
}
?>