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

Материал из ПланФикс
Перейти к: навигация, поиск
 
(не показаны 3 промежуточные версии этого же участника)
Строка 7: Строка 7:
  
 
Простой пример получения списка проектов и вывод его.  
 
Простой пример получения списка проектов и вывод его.  
Из примера становится ясно назначение параметра '''sid'''.
 
  
  
 
<source lang="php">
 
<source lang="php">
 
<?php
 
<?php
 +
<?php
 +
 
$api_server = 'https://api.planfix.ru/xml/';
 
$api_server = 'https://api.planfix.ru/xml/';
 
$api_key = 'APIKey-ВАШЕГО_ПРИЛОЖЕНИЯ';//  
 
$api_key = 'APIKey-ВАШЕГО_ПРИЛОЖЕНИЯ';//  
 
$api_token = 'ТОКЕН_АВТОРИЗАЦИИ';
 
$api_token = 'ТОКЕН_АВТОРИЗАЦИИ';
$planfixAccount = 'ВАШ_АККАУНТ';
 
 
include 'lib.php';
 
  
 
/** получаем список доступных нам проектов и выводим его
 
/** получаем список доступных нам проектов и выводим его
 
  * используем функции на: 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></request>');
$requestXml->account = $planfixAccount;
+
 
 +
$requestXml->account = 'your_account';
 
$requestXml->pageCurrent = 1;
 
$requestXml->pageCurrent = 1;
 
// остальные параметры являются необязательными, поэкспериментируйте сами
 
// остальные параметры являются необязательными, поэкспериментируйте сами
  
$result = apiRequest($api_server, $api_key, $api_token, $requestXml);
+
$ch = curl_init($api_server);
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) {
+
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
echo "Проект:{$project->title} создатель:{$project->owner->name}";
+
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // не выводи ответ на stdout
echo '<br>';
+
curl_setopt($ch, CURLOPT_HEADER, 1);  // получаем заголовки
}
+
// не проверять SSL сертификат
 +
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
 +
// не проверять Host SSL сертификата
 +
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
 +
 
 +
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
 +
curl_setopt($ch, CURLOPT_USERPWD, $api_key . ':' . $api_token);
 +
 
 +
curl_setopt($ch, CURLOPT_POST, true);
 +
curl_setopt($ch, CURLOPT_POSTFIELDS, $requestXml->asXML());
 +
echo $requestXml->asXML();
 +
 
 +
$response = curl_exec($ch);
 +
$error = curl_error($ch);
 +
var_dump($error);
 +
 
 +
$header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
 +
$responseBody = substr($response, $header_size);
 +
 
 +
curl_close($ch);
 +
 
 +
var_dump($responseBody);
 
?>
 
?>
 +
 
</source>
 
</source>
  

Текущая версия на 13:00, 5 декабря 2019

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


<?php
<?php

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

/** получаем список доступных нам проектов и выводим его
 * используем функции на: http://goo.gl/E41Vv
 */
$requestXml = new SimpleXMLElement('<?xml version="1.0" encoding="UTF-8"?><request method="project.getList"><account></account></request>');

$requestXml->account = 'your_account';
$requestXml->pageCurrent = 1;
// остальные параметры являются необязательными, поэкспериментируйте сами

$ch = curl_init($api_server);

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // не выводи ответ на stdout
curl_setopt($ch, CURLOPT_HEADER, 1);   // получаем заголовки
// не проверять SSL сертификат
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
// не проверять Host SSL сертификата
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);

curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, $api_key . ':' . $api_token);

curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $requestXml->asXML());
echo $requestXml->asXML();

$response = curl_exec($ch);
$error = curl_error($ch);
var_dump($error);

$header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
$responseBody = substr($response, $header_size);

curl_close($ch);

var_dump($responseBody);
?>


Перейти