Strawpoll을 만드십시오


12

Strawpoll 은 훌륭합니다. 우리는 항상 의견을 얻기 위해 채팅에 사용합니다. 그러나 웹 브라우저가 필요하기 때문에 다소 성가시 며 SE는 API를 통해서만 PPCG에 액세스하고 컬한다는 것을 모두 알고 있습니다. Strawpoll의 API 를 사용하여 주어진 옵션으로 짚을 만드는 코드 를 작성하고 싶습니다.

명세서

합리적인 형식의 옵션 목록을 문자열로 입력하고 제목은 문자열이기도합니다. 그런 다음 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}
새는 수녀

1
" 참고 : 요청에"Content-Type : application / json "헤더를 지정해야합니다."
Leaky Nun

API는 작동하지 않거나 적어도 문서처럼 말처럼 작동하지 않습니다.
cat

https://strawpoll.me/api/v2/polls항상 http 400으로 응답
cat

밀짚을 반납해야 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

루비 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가 이미 그렇게한다고 가정합니다.
Value Ink

이 gem은 설치되지 않습니다. 왜 HTTP 400을 계속 받는지 알고 싶어서 정말 짜증납니다.
cat

루비 버전은 무엇입니까? 나는 내가 가지고있는 버전으로 내 것을 업데이트했고, 보석은 1.9.3 이상이 필요하다고 말합니다
Value Ink
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.