<!DOCTYPE html>
<html>
<head>
<title>Meta Ads WDC</title>
<script src="https://connectors.tableau.com/libs/tableauwdc-2.3.0.js"></script>
</head>
<body>
<h2>Meta Ads WDC</h2>
<script>
(function() {
var myConnector = tableau.makeConnector();
// Tableau için schema
myConnector.getSchema = function(schemaCallback) {
var cols = [
{ id: "campaign_name", dataType: tableau.dataTypeEnum.string },
{ id: "impressions", dataType: tableau.dataTypeEnum.int },
{ id: "spend", dataType: tableau.dataTypeEnum.float },
{ id: "clicks", dataType: tableau.dataTypeEnum.int }
];
var tableSchema = {
id: "metaAdsData",
alias: "Meta Ads Campaign Data",
columns: cols
};
schemaCallback([tableSchema]);
};
// Tableau için veri çekme
myConnector.getData = function(table, doneCallback) {
fetch("https://metaads.berkanyilmazdms.workers.dev")
.then(response => response.json())
.then(data => {
var tableData = [];
data.data.forEach(item => {
tableData.push({
campaign_name: item.campaign_name,
impressions: item.impressions,
spend: item.spend,
clicks: item.clicks
});
});
table.appendRows(tableData);
doneCallback();
})
.catch(err => {
console.error("Worker’dan veri çekilemedi:", err);
alert("Veri çekilemedi, Cloudflare Access ile login olduğunuzdan emin olun.");
});
};
tableau.registerConnector(myConnector);
document.addEventListener("DOMContentLoaded", function() {
tableau.connectionName = "Meta Ads WDC";
tableau.submit();
});
})();
</script>
</body>
</html>