Làm ống hút


12

Strawpolls là tuyệt vời, và chúng tôi sử dụng chúng trong trò chuyện mọi lúc để có ý kiến ​​về mọi thứ. Nhưng họ hơi khó chịu vì bạn cần một webbrowser để tạo ra chúng và mọi người đều biết rằng tôi chỉ truy cập PPCG thông qua API SE và cuộn tròn. Vì vậy, tôi muốn bạn viết một số mã sử dụng API của Strawpoll để tạo một ống hút với các tùy chọn đã cho.

Thông số kỹ thuật

Lấy đầu vào là một danh sách ở bất kỳ định dạng hợp lý nào của các tùy chọn dưới dạng chuỗi và tiêu đề cũng là một chuỗi. Sau đó, sử dụng API để tạo một ống hút với tiêu đề đó và các tùy chọn đó và xuất url.

Không nên cho phép bội số, kiểm tra trùng lặp nên được thực thi và captcha không cần thiết.

Thí dụ

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

Đầu ra: http://strawpoll.me/7275997

Đây là , vì vậy mã ngắn nhất tính bằng byte sẽ thắng!


2
(Chỉ để giúp tất cả mọi người) TL; DR : làm điều này:https://strawpoll.me/api/v2/polls{"title":"This is a test poll.","options":["Option #1","Option #2"],"multi": true}
Leaky Nun

1
" LƯU Ý : Bạn phải chỉ định tiêu đề" Loại nội dung: ứng dụng / json "trong yêu cầu của bạn."
Leaky Nun

Loại API không hoạt động hoặc ít nhất là nó không hoạt động như các tài liệu nói rằng
mèo

https://strawpoll.me/api/v2/pollsluôn trả lời bằng http 400
mèo

Bạn có cần phải trả lại ống hút http://? Tôi có thể trở lại https://thay thế?
Mực giá trị

Câu trả lời:


3

Yếu tố, 256 262 byte

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 ]

Yêu cầu một tên là arg dòng lệnh đầu tiên, sau đó tùy chọn sau đó.

Yêu cầu com-auto-use.

Ung dung:

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 byte

Chức năng ẩn danh; trả về một chuỗi với URL Strawpoll. Hãy nhớ cài đặt đá quý HTTParty trước khi chạy.

->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"]]}

Nếu URL có thể được trả về https://thay vì http://, 126 byte:

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

Bạn đã đặt Content-Type: application/jsontiêu đề?
con mèo

Tôi đã nhận được phản hồi thích hợp trở lại, vì vậy tôi cho rằng HTTParty đã làm điều đó cho tôi rồi.
Mực giá trị

Viên ngọc này sẽ không được cài đặt, điều này thực sự gây phiền nhiễu vì tôi muốn tìm hiểu lý do tại sao tôi tiếp tục nhận được HTTP 400.
con mèo

Phiên bản Ruby của bạn là gì? Tôi đã cập nhật phiên bản của mình lên phiên bản tôi có và viên ngọc nói rằng nó cần 1.9.3+
Giá trị mực
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.