2013-03-15 4 views
0

현재이 API, 기타 업체와 함께 프로젝트를 시작하고 있습니다. 문제는 그것을 사용하는 방법이 없다는 것입니다. 예를 들어이 API를 사용하는 방법을 모르겠다

, 내가 그것을 배치 할 생각 해요 내가 알지도 못하는이 줄

curl -H 'Guitarparty-Api-Key: {API_KEY}' http://api.guitarparty.com/v2/songbooks/ 

. 누군가 그것을 사용하는 예를 보여줄 수 있습니까? 노래 요청을 원합니다.

API가 매우 단순 해 보입니다. 문제는 시작하는 방법을 모른다는 것입니다. 감사.

api 문서는 정말 짧지 만 어디서부터 시작해야하는지 이해할 수 없습니다.

http://www.guitarparty.com/developers/api-docs/api-resources/songs/#available-song-methods

+1

API 문서가 있기를 기도해주세요. ['httpie'] (https://github.com/jkbr/httpie)는 명령 행 HTTP 요청을하는 친구입니다. –

답변

1

컬는 HTTP와 유사한 프로토콜 작업을위한 명령 줄 도구입니다. 다음에서 다운로드 할 수 있습니다 : http://curl.haxx.se

이 줄은 말 그대로 Linux 같은 시스템에 컬이 설치된 시스템에서 명령 줄에 입력해야합니다. 컬을 다운로드하고 예제를 따라 가려고 할 수 있습니다.

그러나 API의 장점은 특정 도구를 사용할 필요가 없다는 것입니다. HTTP 헤더 값을 설정할 수있는 한 원하는 도구를 사용할 수 있습니다. 다양한 도구와 모듈이 HTTP 요청을 만들 수 있습니다.

먼저해야 할 일은 GuitarParty 사이트에서 API 키를 얻는 것입니다. 이는 애플리케이션을 식별 할 수있는 키이며 예를 들어 얼마나 많은 쿼리를 실행할 수 있습니다. 하나도 없으면 API를 사용할 수 없습니다. 위의 "{API_KEY}"를 실제 API 키로 대체해야합니다.

(문서)에서 쿼리의 예는 다음과 같습니다

curl -H 'Guitarparty-Api-Key: {API_KEY}' http://api.guitarparty.com/v2/songs/?query=Jolene 

은 여기에서 일어나고하면 해당 컬은 HTTP를 통해 일반 GET 요청을하는 데 사용되는 것입니다. 이것은 링크를 클릭 할 때 브라우저가 일반적으로 요구하는 일종의 요청입니다. URL은 "http://api.guitarparty.com/v2/songs/?query=Jolene"입니다. 'Jolene'이외의 노래를 검색하기 위해 수정하는 것입니다. 일어나는 유일한 이상한 일은 맞춤 HTTP 헤더 값을 설정하는 것입니다 : "Guitarparty-Api-Key", API 키. -H는 사용자 정의 헤더를 설정하는 컬 구문입니다.

응답으로 서버에서 JSON 인코딩 구조로 검색 결과를 반환합니다. 이 구조체를 구문 분석하고 관심있는 부분을 추출해야합니다. 특정 헤더를 사용하여 HTTP 요청을하는 방법, JSON을 구문 분석하는 방법 - 어떤 종류의 언어 나 환경에서 일할 계획인지 알고 싶습니다. 예를 들어 파이썬의 경우 "urllib2"와 "json"모듈을 살펴 보도록 권합니다.

+0

예, 저는 json을 사용하고 있습니다. – user1869558

+0

JSON은 프로그래밍 언어가 아닌 데이터의 표기법입니다. 그것은 프로그래밍 언어 Javascript, 즉 이름 (JavaScript Object Notation)과 같은 구문을 사용합니다. Javascript로 실행되는 프로그램을 만들고 있습니까? 그렇다면 다음 링크를 통해 시작할 수 있습니다. http://www.json.org/js.html, http://eloquentjavascript.net/chapter14.html, http://stackoverflow.com/questions/581383/adding -custom-http-headers-using-javascript – svk

+0

링크에 감사드립니다!http 요청에 대한 학습 곡선이 꽤 높습니다. 나는 전에 GET, POST와 함께 일했지만, 꽤 기초적인 것들이었다. https://github.com/stuycs-ml7/pd7-miniproject1/blob/master/Smirnov_Wu/app.py – user1869558

관련 문제