ПланФикс API: Пример получения списка проектов на php — различия между версиями

Материал из ПланФикс
Перейти к: навигация, поиск
Строка 13: Строка 13:
 
<?php
 
<?php
 
$api_server = 'https://api.planfix.ru/xml/';
 
$api_server = 'https://api.planfix.ru/xml/';
$api_key = 'APIKey-ВАШЕГО_ПРИЛОЖЕНИЯ';// смотри http://dev.planfix.ru/
+
$api_key = 'APIKey-ВАШЕГО_ПРИЛОЖЕНИЯ';//  
$api_secret = 'APISecret-ВАШЕГО_ПРИЛОЖЕНИЯ';
+
$api_token = 'ТОКЕН_АВТОРИЗАЦИИ';
 
$planfixAccount = 'ВАШ_АККАУНТ';
 
$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
 
  * используем функции на: http://goo.gl/E41Vv
 
  */
 
  */
 
$requestXml = new SimpleXMLElement('<?xml version="1.0" encoding="UTF-8"?><request method="project.getList"><account></account><sid></sid></request>');
 
$requestXml = new SimpleXMLElement('<?xml version="1.0" encoding="UTF-8"?><request method="project.getList"><account></account><sid></sid></request>');
 
$requestXml->account = $planfixAccount;
 
$requestXml->account = $planfixAccount;
$requestXml->sid = $api_sid;
 
 
$requestXml->pageCurrent = 1;
 
$requestXml->pageCurrent = 1;
 
// остальные параметры являются необязательными, поэкспериментируйте сами
 
// остальные параметры являются необязательными, поэкспериментируйте сами
$requestXml->signature = make_sign($requestXml, $api_secret);
+
 
 
$result = apiRequest($api_server, $api_key, $requestXml);
 
$result = apiRequest($api_server, $api_key, $requestXml);
 
if(!$result['success']) {
 
if(!$result['success']) {

Версия 14:06, 15 июля 2019

Простой пример получения списка проектов и вывод его. Из примера становится ясно назначение параметра sid.


<?php
$api_server = 'https://api.planfix.ru/xml/';
$api_key = 'APIKey-ВАШЕГО_ПРИЛОЖЕНИЯ';// 
$api_token = 'ТОКЕН_АВТОРИЗАЦИИ';
$planfixAccount = 'ВАШ_АККАУНТ';

/** получаем список доступных нам проектов и выводим его
 * используем функции на: 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->pageCurrent = 1;
// остальные параметры являются необязательными, поэкспериментируйте сами

$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>';
}
?>


Перейти