구글 sheets를 CFML로 쓰는 방법을 찾아 보았다.
https://baseql.com/
에서 중간 역할을 해 준다.
어카운트를 열고
구글시트를 연결한다. (URL)
연결한다음,EndPoint를 얻너내서 복사해둔다.
코드에서 setURL 함수에 아규먼트를 넣어준다.
그리고 필요한 필드를 선택해서 쿼리문이 생기면 최종 쿼리문을 카피해서 입력한다.
Postman에서 다시 한 번 테스트해보고 curl문장을 카피한 다음 cfscript(cfml)로 컨버트한다.
cfdump해서 구조를 파악한 다음 필요한 자료를 가공하여 뽑아낸다.
https://curlconverter.com/coldfusion/
<Cfscript>
httpService = new http();
httpService.setUrl("https://api.baseql.com/gsheets/graphql/xxxxxxxxxxxxxx");
httpService.setMethod("GET");
httpService.addParam(type="header", name="Content-Type", value="application/json");
httpService.addParam(type="body", value='{"query":"query MyQuery { fall2024StudentList { email first last moodleId moodlePassword studentId }}","variables":{}}');
result = httpService.send().getPrefix();
writeDump(result.filecontent);
</Cfscript>
<cfset aa="#deserializeJSON(result.filecontent)#">
<cfset aray_data="#aa["data"]["fall2024StudentList"]#">
<cfloop array="#aray_data#" index="indexdata">
<cfdump var="#indexdata.email#">
</cfloop>
