Strawpoll yapın


12

Strawpolls harika ve her zaman sohbetlerde her şey hakkında görüş almak için kullanıyoruz. Ancak, bunları yapmak için bir web tarayıcısına ihtiyacınız olduğu için yapmak biraz can sıkıcı ve herkes PPCG'ye yalnızca SE API'leri ve kıvrılma yoluyla eriştiğimi biliyor. Bu yüzden , verilen seçeneklerle bir strawpoll yapmak için Strawpoll API'sini kullanan bir kod yazmanızı istiyorum .

gözlük

Dize olarak herhangi bir makul formatta bir liste ve aynı zamanda bir dize olan bir başlık girin. Ardından, bu başlık ve bu seçeneklerle bir pipet yapmak ve URL'yi çıktılamak için API'yi kullanın.

Katlara izin verilmemeli, çift kontrol uygulanmalı ve captchas gerekli olmamalıdır.

Misal

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

Çıktı: http://strawpoll.me/7275997

Bu , bayt en kısa kod kazanır!


2
(Sadece herkese yardım etmek için) TL; DR : bunu yap:https://strawpoll.me/api/v2/polls{"title":"This is a test poll.","options":["Option #1","Option #2"],"multi": true}
Leaky Nun

1
" NOT : İsteğinizde bir" Content-Type: application / json "başlığı belirtmelisiniz."
Leaky Nun

API türü işe yaramıyor ya da en azından dokümanların söylediği gibi çalışmıyor
cat

https://strawpoll.me/api/v2/pollsher zaman http 400 ile cevap verir
cat

Strawpoll'u iade etmeniz gerekiyor http://mu? Onun https://yerine geri dönebilir miyim ?
Değer Mürekkebi

Yanıtlar:


3

Faktör, 257262 bayt

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 ]

İlk komut satırı argümanı olarak bir ad, ardından bundan sonraki seçenekler olarak bekler.

Gerektirir 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 bayt

Anonim işlev; strawpoll URL'sine sahip bir dize döndürür. Çalıştırmadan önce HTTParty gemini yüklemeyi unutmayın.

->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://yerine http://126 bayt yerine döndürülebilirse :

->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/jsonBaşlığı ayarladınız mı?
kedi

Geri doğru bir yanıt aldım, bu yüzden HTTParty zaten bunu benim için yapıyor varsayalım.
Değer Mürekkebi

Bu taş yüklenmeyecek, bu yüzden neden HTTP 400 almaya devam ettiğimi anlamak istediğim için gerçekten sinir bozucu.
cat

Ruby versiyonun nedir? Ben var sürümüne mayın güncelledim ve mücevher 1.9.3+ ihtiyacı var
Value Ink
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.