एक स्ट्रॉपोल बनाओ


12

स्ट्रॉपोल महान हैं, और हम चीजों पर राय प्राप्त करने के लिए हर समय चैट में उनका उपयोग करते हैं। लेकिन वे थोड़े परेशान करने वाले हैं क्योंकि आपको उन्हें बनाने के लिए एक वेबब्रोसर की आवश्यकता है, और हर कोई जानता है कि मैं पीपीसीजी को केवल एसई एपीआई और कर्ल के माध्यम से एक्सेस करता हूं। इसलिए मैं चाहता हूं कि आप कुछ कोड लिखें, जो दिए गए विकल्पों के साथ स्ट्रॉपोल बनाने के लिए स्ट्रॉपोल के एपीआई का उपयोग करता है ।

चश्मा

स्ट्रिंग के रूप में विकल्पों के किसी भी उचित प्रारूप में एक सूची के रूप में ले लो, और एक शीर्षक जो एक स्ट्रिंग भी है। फिर उस शीर्षक और उन विकल्पों के साथ एक स्ट्रैपोल बनाने के लिए एपीआई का उपयोग करें और यूआरएल को आउटपुट करें।

मल्टीपल्स को अनुमति नहीं दी जानी चाहिए, डुप्लिकेट चेकिंग को लागू किया जाना चाहिए, और कैप्चा आवश्यक नहीं होना चाहिए।

उदाहरण

"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 "शीर्षक निर्दिष्ट करना होगा।"
लीक नून

एपीआई तरह काम नहीं करता है, या कम से कम यह काम नहीं करता है जैसे डॉक्स यह कहता है
बिल्ली

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

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

रूबी 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 को 126 बाइट्स के https://बदले लौटाया जा सकता है http://:

->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 क्यों मिल रहा है।
बिल्ली

आपका रूबी संस्करण क्या है? मैंने अपने संस्करण के लिए खान को अद्यतन किया, और मणि का कहना है कि इसे 1.9.3+
मूल्य इंक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.