TechNote

Google Sheets Data with BaseQL.com

구글 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>