2015-03-05 3 views
1

Im очень новичок в материалах api и хочу делать следующее: Опубликуйте новую карту на доске trello, используя форму на моей странице. Trello предлагает API, но я не на самом деле не знаю, как использовать его: http://mattzuba.bitbucket.org/php-trello/Добавить карту trello через форму html

Моя форма выглядит следующим образом:

<form id="trello" class="form-horizontal"> 
    <div class="form-group"> 
     <div class="col-md-6"> 
      <input type="text" name="Name" placeholder="Name" class="form-control" /> 
     </div> 
     <div class="col-md-6"> 
      <input type="email" name="email" placeholder="eMail" class="form-control" /> 
     </div> 
    </div> 
    <div class="form-group"> 
     <div class="col-md-12"> 
      <input type="text" name="Title" placeholder="Title" class="form-control" /> 
     </div> 
    </div> 
    <div class="form-group"> 
     <div class="col-md-12"> 
      <textarea name="content" cols="40" rows="10" placeholder="Content" class="form-control"></textarea> 
     </div> 
    </div> 
    <div class="form-group"> 
     <div class="col-md-12"> 
      <input type="file" name="attachment" value="1" class="form-control"> 
     </div> 
    </div> 
    <div class="form-group"> 
     <a class="btn btn-primary" id="submit">Submit</a> 
    </div> 
</form> 

Теперь я хочу, чтобы создать карту, которая выглядит следующим образом:

card-name: $title 
card-content: $content 
       Submitted by: $name ($email) 
card-attachment: $attachment 

Поскольку эта форма должна быть публичной (с искаженным), то OAuth нет никакого способа для меня:/

Я не знаю час ow, чтобы заархивировать это:/ Если кто-нибудь даст мне пример, это было бы замечательно :)

Может кто-нибудь мне помочь?

ответ

2

Я собрал следующий код, и он работает для меня.

<?php 
 
if ($_POST) { 
 
    $card_name = htmlspecialchars($_POST['title']); 
 
    $card_content = htmlspecialchars($_POST['content']) . "\n"; 
 
    $card_content .= htmlspecialchars($_POST['name']) . " (" . htmlspecialchars($_POST['email']) . ")"; 
 

 
    $trello_key   = 'YourTrelloApiKey'; 
 
    $trello_api_endpoint = 'https://api.trello.com/1'; 
 
    $trello_list_id  = 'IdOfListYouArePostingTo'; 
 
    $trello_member_token = 'AnApplicationTokenYouHaveGenerated'; // Guard this well 
 
    
 
    $url = 'https://api.trello.com/1/cards'; 
 
    $fields='token='.$trello_member_token; 
 
    $fields.='&key='.$trello_key; 
 
    $fields.='&idList='.$trello_list_id; 
 
    $fields.='&name='.$card_name; 
 
    $fields.='&desc='.$card_content; 
 
    
 
    $result = trello_post($url, $fields); 
 
} 
 
    
 
function trello_post($url, $fields){ 
 
    $ch = curl_init(); 
 
    curl_setopt($ch, CURLOPT_URL, $url); 
 
    curl_setopt($ch, CURLOPT_POSTFIELDS, $fields); 
 
    curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"); 
 
    curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLINFO_HEADER_OUT, true); 
 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
 
    curl_setopt($ch, CURLOPT_TIMEOUT, 0); 
 
    curl_setopt($ch, CURLOPT_POST, 1); 
 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
 
    $output = curl_exec($ch); 
 
    curl_close($ch); 
 
    return json_decode($output); 
 
} 
 
?> 
 

 
<form id="trello" method="post" class="form-horizontal"> 
 
    <div class="form-group"> 
 
     <div class="col-md-6"> 
 
      <input type="text" name="name" placeholder="Name" class="form-control" /> 
 
     </div> 
 
     <div class="col-md-6"> 
 
      <input type="email" name="email" placeholder="E-Mail" class="form-control" /> 
 
     </div> 
 
    </div> 
 
    <div class="form-group"> 
 
     <div class="col-md-12"> 
 
      <input type="text" name="title" placeholder="Title" class="form-control" /> 
 
     </div> 
 
    </div> 
 
    <div class="form-group"> 
 
     <div class="col-md-12"> 
 
      <textarea name="content" cols="40" rows="10" placeholder="Content" class="form-control"></textarea> 
 
     </div> 
 
    </div> 
 
    <div class="form-group"> 
 
     <input type="submit" value="Submit"> 
 
    </div> 
 
</form>

Единственный аспект, который я не получил работать в загрузки вложений. Для этого очень мало документации.

Смежные вопросы