2015-05-13 3 views
0

Я использую классический basecamp api, и я хочу добавить новую строку в тело комментария. Я пытался использовать Envirovent.NewLine и CDATA, но basecamp удаляет его из текста результата. Кто-нибудь знает, как это сделать? Возможно?Basecamp classic api: как добавить новую строку в тело комментариев

ответ

0

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

Вызов

GET https://#{account_url}.basecamphq.com/comments/#{comment_id}.xml 

Результат

<?xml version="1.0" encoding="UTF-8" ?> 
<comments count="1" type="array"> 
    <comment> 
    ... 
    <body> 
    <div> Comment-Text line ONE</div> 
    <div> Comment-Text line TWO</div> 
    </body> 
    ... 
    </comment> 
</comments> 

Однако, отправляя XML в API применяя ту же структуру, что и выше, приводит к следующему ужасно выглядящему комментарию в Basecamp Classic:

{ "ДИВ" => [ "Комментарий-текстовая строка ONE", "Комментарий-Text второй строки"]}

Тег CDATA делает работу, но должен быть реализован следующим образом:

<comment><![CDATA[ 
    <body> 
    <div> Comment-Text line ONE</div> 
    <div> Comment-Text line TWO</div> 
    </body> 
    </comment>]]> 

Или пример подачи динамического контента с PHP

$comment_xml = "<comment><body><![CDATA[<div>Person: " . $first_name . " " . $last_name . "</div><div>Email: " . $email . "</div>]]></body></comment>"; 

<div> и <br /> теги оба работа для новых линий