ทำ Strawpoll


12

Strawpollsนั้นยอดเยี่ยมและเราใช้มันในการแชทตลอดเวลาเพื่อรับความคิดเห็นในสิ่งต่าง ๆ แต่พวกเขาน่ารำคาญที่ต้องทำเนื่องจากคุณต้องการเว็บเบราว์เซอร์ที่จะทำให้พวกเขาและทุกคนรู้ว่าฉันเข้าถึง PPCG ผ่าน SE APIs และ curl เท่านั้น ดังนั้นฉันต้องการให้คุณเขียนรหัสที่ใช้API ของ Strawpollเพื่อสร้าง strawpoll พร้อมตัวเลือกที่กำหนด

รายละเอียด

ใช้รายการอินพุตในรูปแบบที่เหมาะสมของตัวเลือกเป็นสตริงและหัวเรื่องซึ่งเป็นสตริง จากนั้นใช้ API เพื่อสร้าง strawpoll ด้วยชื่อนั้นและตัวเลือกเหล่านั้นและส่งออก 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}
Leun Nun

1
" หมายเหตุ : คุณต้องระบุส่วนหัว" Content-Type: application / json "ในคำขอของคุณ"
Leun Nun

การเรียงลำดับ API ไม่ทำงานหรืออย่างน้อยก็ใช้งานไม่ได้เหมือนที่เอกสารบอกว่าทำ
cat

https://strawpoll.me/api/v2/pollsตอบกลับทุกครั้งด้วย http 400
cat

คุณต้องส่ง strawpoll กลับมา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ต้องใช้

Ungolfed:

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 ไบต์

ฟังก์ชั่นไม่ระบุชื่อ; ส่งคืนสตริงด้วย strawpoll URL อย่าลืมติดตั้ง HTTParty gem ก่อนทำการรัน

->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
cat

รุ่น Ruby ของคุณคืออะไร ฉันอัปเดตของฉันเป็นรุ่นที่ฉันมีและอัญมณีแจ้งว่าต้องใช้ 1.9.3+
หมึกมูลค่า
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.