Зробіть солом’яну сомку


12

Солом'яні опитування чудові, і ми використовуємо їх у чаті весь час для отримання думок про речі. Але їм щось прикро робити, оскільки для їх створення потрібен веб-браузер, і всі знають, що я отримую доступ до PPCG тільки через SE API та curl. Тому я хочу, щоб ви написали якийсь код, який використовує API Strawpoll, щоб зробити солом’яну опис із заданими параметрами.

Технічні характеристики

Візьміть як вхід список у будь-якому розумному форматі опцій як рядки, а також заголовок, який також є рядком. Потім скористайтеся API, щоб зробити солом'яну опитування з цим заголовком та тими параметрами та вивести URL-адресу.

Не слід допускати кратних змін, перевіряти повторюваність дублікатів, а також робити не потрібно.

Приклад

"My Awesome Poll"
["option 1", "I like pies", "I also like cakes"]

Вихід: http://strawpoll.me/7275997

Це , тому найкоротший код у байтах виграє!


2
(Тільки щоб допомогти всім) TL; DR : зробіть це:https://strawpoll.me/api/v2/polls{"title":"This is a test poll.","options":["Option #1","Option #2"],"multi": true}
Leaky Nun

1
" ПРИМІТКА . У своєму запиті потрібно вказати заголовок" Тип вмісту: додаток / json "."
Leaky Nun

API начебто не працює, або , по крайней мере , це не робота , як документи говорять , що це робить
кіт

https://strawpoll.me/api/v2/pollsзавжди відповідає http 400
кіт

Потрібно повернути солом’яну трубку http://? Чи можу я https://замість цього повернутися ?
Значення чорнила

Відповіді:


3

Фактор, 257 262 байт

TUPLE: p title options dupcheck ;
[ command-line rest [ first ] [ rest ] bi "normal" p boa >json "https://strawpoll.me/api/v2/polls" <post-request> "application/json" "Content-Type" set-header http-request nip json> id>> 10 base> "http://strawpoll.me/" prepend ]

Очікує ім'я в якості першого аргументу командного рядка, а потім параметри після цього.

Вимагає com-auto-use.

Безголівки:

TUPLE: poll
  title options dupcheck ;

: post-json ( post-data url -- response data )
  <post-request>
    "application/json" "Content-Type" set-header
  http-request ;

: strawpoll-main ( -- )
  command-line rest [ first ] [ rest ] bi "normal" poll boa
  >json "https://strawpoll.me/api/v2/polls" post-json nip
  json> id>> 10 base> "http://strawpoll.me/" prepend print ;

1

Ruby 2.2.4 + HTTParty : 129 байт

Анонімна функція; повертає рядок із URL-адресою соломового опитування. Не забудьте встановити дорогоцінний камінь HTTParty перед запуском.

->q,a{require'httparty';s="http%s://strawpoll.me/%s"
s%[p,HTTParty.post(s%[?s,"api/v2/polls"],body:{title:q,options:a},verify:p)["id"]]}

Якщо URL-адресу можна повернути https://замість http://, 126 байт:

->q,a{require'httparty';s="https://strawpoll.me/%s"
s%HTTParty.post(s%"api/v2/polls",body:{title:q,options:a},verify:p)["id"]}

Ви встановили Content-Type: application/jsonзаголовок?
кіт

Я отримав належну відповідь, тому я вважаю, що HTTParty це вже робить для мене.
Значення чорнила

Цей самоцвіт не встановлюватиметься, що насправді дратує, оскільки я хотів би зрозуміти, чому я продовжую отримувати HTTP 400.
кіт

Яка ваша версія Ruby? Я оновив свою версію до наявної у мене версії, і дорогоцінний камінь говорить, що їй потрібно 1.9.3+
Value Ink
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.