Back to list

안드로이드 Tasker에서 JavaScriptlet으로 후잉 API 호출(정리)

JavaScriptlet 액션 --------------------CODE-------------------- //[GET/DELETE resourse.format] var http = new XMLHttpRequest(); //리소스URL 입력(format은 반드시 json_array) var url = "Resource URL"; //파라미터=밸류 입력 var par = "Parameter1=Value1&Parameter2=Value2"; //메소드(GET/DELETE)입력 http.open("GET",url+"?"+par,false); //X-API-KEY 입력 http.setRequestHeader("X-API-KEY","app_id=###,token=###,signiture=###"+",nounce="+global("TIMEMS")+",timestamp="+global("TIMES")); http.send(null); //---------------------------------------- //[POST/PUT resourse.foramt] var http = new XMLHttpRequest(); //리소스URL 입력(format은 반드시 json_array) var url = "Resource URL"; //파라미터=밸류 입력 var par = "Parameter1=Value1&Parameter2=Value2"; //메소드(POST/PUT) 입력 http.open("POST",url,false); http.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8"); //X-API-KEY 입력 http.setRequestHeader("X-API-KEY","app_id=###,token=###,signiture=###"+",nounce="+global("TIMEMS")+",timestamp="+global("TIMES")); http.send(par); //---------------------------------------- //전역변수 %GLOBAL에 응답값 저장 setGlobal("GLOBAL",http.responseText); //전역변수 %GLOBAL 내용 보기(테스트용 코드) alert(global("GLOBAL")); //---------------------------------------- //응답값 파싱(지역변수 %res에 저장) var res = JSON.parse(http.responseText); //또는 전역변수 %GLOBAL에 저장한 응답값 파싱(지역변수 %res에 저장) var res = JSON.parse(global("GLOBAL")); //오브젝트값 호출(지역변수 %local에 저장) var local = res.{오브젝트경로}; --------------------/CODE-------------------- ----------예제(GET accounts.json_array)---------- var http = new XMLHttpRequest(); var url = "https://whooing.com/api/accounts.json_array"; var par = "section_id=###"; http.open("GET",url+"?"+par,false); http.setRequestHeader("X-API-KEY","app_id=###,token=###,signiture=###"+",nounce="+global("TIMEMS")+",timestamp="+global("TIMES")); http.send(null); var res = JSON.parse(http.responseText); //#+1번째 자산 항목의 account_id 호출(지역변수 %local에 저장) var local = res.results.assets[#].account_id; //지역변수 %local 내용 보기(테스트용 코드) alert(local); --------------------/예제--------------------

유소년

추가내용: 응답값이 유니코드로 인코딩되어 있어 한글이 유니코드 문자열로 나옵니다. 하지만 오브젝트 전환 과정에서 디코딩되니 크게 문제없습니다. 응답값을 파싱하지 않고 그대로 사용하는 경우가 없을 것이기 때문에... 그래도 응답값 전체를 한글로 저장하고 싶다면 .parse 메소드로 오브젝트로 변환한 다음 .stringify 메소드로 다시 스트링으로 묶어주시면 됩니다. http.responseText // == "{~,\"username\":\"\uC720\uC18C\uB144\",~}" JSON.stringify(JSON.parse(http.responseText)) // == "{~,\"username\":\"유소년\",~}"

리차드

감사합니다.

흥반장

오오 참고자료인가요? 감사합니다.


관심 답글

0개의 새로운 코멘트가 있습니다.