Google Fusion Table에서 일부 데이터를 가져 오려고합니다.
다음과 같이 Fusion Tbales API를 호출하여 JSON 파일을 생성하기 위해 Google 문서를 사용했습니다. https://www.googleapis.com/fusiontables/v1/query?sql=SELECT%20 * % 20FROM % yyyyyy & key = xxxxxxxxx "
이제이 호출을 웹 페이지에 통합하고 동일한 페이지에 결과를 표시 할 것입니다.
몇 가지 예제 코드 (JavaScript를 사용하여 브라우저에서 API 호출)를 제공하는이 페이지의 지침을 따랐습니다. https://developers.google.com/fusiontables/docs/v1/getting_started#JS
내 사이트에 코드를 입력하고 스크립트 호출을이 게시물의 맨 위에있는 호출로 대체했습니다.
페이지를 볼 때 페이지에 아무것도 표시되지 않고 Google 콘솔에 다음과 같은 오류가 표시됩니다. Uncaught TypeError : Cannot read property 'length'of undefined
예제 코드가 작동하는 곳에 대한 더 나은 예제 또는 자습서를 아는 사람이 있습니까?
또는
이 스크립트가 실패하는 이유를 알고 있습니까?
코드:
<html>
<head>
<title>Google Fusion Tables API Example</title>
</head>
<body>
<div id="content"></div>
<script>
function handler(response) {
for (var i = 0; i < response.items.length; i++) {
var item = response.items[i];
// Either show the body or the automatic columns of the template
if (item.body) {
document.getElementById("content").innerHTML += "<br>" + item.body;
} else {
for (var j = 0; j < item.automaticColumnNames.length; j++) {
document.getElementById("content").innerHTML += "<br>" + item.automaticColumnNames[j];
}
}
}
}
</script>
<script src="https://www.googleapis.com/fusiontables/v1/query?sql=SELECT%20*%20FROM%20xxxxq5TFqB4oM-HCQBkRqzOM6uC2qAIJDk91Q&keyXXXXXXXX"></script>
</body>
</html>
코드를 실행할 때 Chrome에서 javascript 오류가 발생합니다.
Refused to execute script from 'https://www.googleapis.com/fusiontables/v1/query?sql=SELECT%20*%20FROM%20XXXXXXX&key=XXXXXXX' because its MIME type ('application/json') is not executable, and strict MIME type checking is enabled.
쿼리에 "callback = handler"매개 변수가 없습니다 (인용 한 예에서).
반환 된 데이터에 대해 구문 분석 루틴이 올바르지 않음을 수정하면 응답의 항목 속성이 없습니다. 이것은 나를 위해 작동합니다.
<html>
<head>
<title>Google Fusion Tables API Example</title>
</head>
<body>
<div id="content"></div>
<script>
function handler(response) {
var contentStr = "<table>";
for (var i = 0; i < response.rows.length; i++) {
var item = response.rows[i];
contentStr += "<tr>";
for (var j = 0; j < item.length; j++) {
contentStr += "<td>" + item[j]+"</td>";
}
contentStr += "</tr>";
}
contentStr += "</table>";
document.getElementById("content").innerHTML = contentStr;
}
</script>
<script src="https://www.googleapis.com/fusiontables/v1/query?sql=SELECT%20*%20FROM%20XXXXX=XXXXXX&callback=handler"></script>
</body>
</html>
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다