Как создать карточку с настраиваемыми полями с помощью API Trello - PullRequest
0 голосов
/ 22 января 2020

Я сложил с моим веб-приложением, где мне нужно создать карту с пользовательским текстом внутри. У меня есть файл trello.php, где я размещаю информацию из моей программы, такую ​​как имя, номер телефона, адрес электронной почты и дата. Число, текст и дата из пользовательских полей. Я прочитал документацию, но мне никогда не удавалось создать рабочий код.

В документации упоминается:

// Custom Field Type - Text
{
  "value": { "text": "Hello, world!" }
}

, поэтому я попытался несколькими способами отправить эту информацию, но безуспешно :

$trello = new trello_api($key, $secret, $token);

$trello->request('POST', '/1/cards', array('name' => $card_name, 'idList' => $list_id, 'labels' => 'red', '*here is field ID*' => array( 'value' => array ( 'text' => 'test@test.tst'))));

unset($trello);

Я использую этот API:

<?php
      class trello_api {
        private $key;
        private $secret;
        private $token;

        public function __construct ($key, $secret, $token) {
          $this->key = $key;
          $this->secret = $secret;
          $this->token = $token;
        }

        public function request ($type, $request, $args = false) {
          if (!$args) {
            $args = array();
          } elseif (!is_array($args)) {
            $args = array($args);
          }

          if (strstr($request, '?')) {
            $url = 'https://api.trello.com' . $request . '&key=' . $this->key . '&token=' . $this->token;
          } else {
            $url = 'https://api.trello.com' . $request . '?key=' . $this->key . '&token=' . $this->token;
          }

          $c = curl_init();
          curl_setopt($c, CURLOPT_HEADER, 0);
          curl_setopt($c, CURLOPT_VERBOSE, 0);
          curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
          curl_setopt($c, CURLOPT_URL, $url);

          if (count($args)) curl_setopt($c, CURLOPT_POSTFIELDS , http_build_query($args));

          switch ($type) {
            case 'POST':
              curl_setopt($c, CURLOPT_POST, 1);
              break;
            case 'GET':
              curl_setopt($c, CURLOPT_HTTPGET, 1);
              break;
            default:
              curl_setopt($c, CURLOPT_CUSTOMREQUEST, $type);
          }

          $data = curl_exec($c);
          curl_close($c);


          return json_decode($data);


        }
      }
    ?> 
...