Skip to main content
Glama

Google Tag Manager MCP Server

by ambit1977
test-details.js5.8 kB
#!/usr/bin/env node /** * コンテナ、ワークスペース、タグなどの詳細テスト */ import { GTMClient } from './src/gtm-client.js'; async function testDetails() { try { console.log('=== 詳細情報取得テスト ===\n'); const gtmClient = new GTMClient(); const oauth2Auth = gtmClient.getOAuth2Auth(); if (!oauth2Auth.isAuthenticated()) { console.log('✗ 認証が必要です。'); process.exit(1); } // 最初のアカウントを取得 const accounts = await gtmClient.listAccounts(); if (accounts.length === 0) { console.log('アカウントが見つかりません。'); return; } const account = accounts[0]; console.log(`使用アカウント: ${account.name} (ID: ${account.accountId})\n`); // コンテナ一覧を取得 console.log('1. コンテナ一覧を取得中...'); const containers = await gtmClient.listContainers(account.accountId); console.log(`✓ ${containers.length}件のコンテナが見つかりました\n`); if (containers.length === 0) { console.log('コンテナが見つかりません。'); return; } const container = containers[0]; console.log(`使用コンテナ: ${container.name} (ID: ${container.containerId})\n`); // コンテナの詳細を取得 console.log('2. コンテナの詳細情報を取得中...'); const containerDetail = await gtmClient.getContainer(account.accountId, container.containerId); console.log('✓ コンテナの詳細情報を取得しました\n'); console.log('コンテナ詳細:'); console.log(` 名前: ${containerDetail.name}`); console.log(` ID: ${containerDetail.containerId}`); console.log(` 公開ID: ${containerDetail.publicId || 'N/A'}`); console.log(` 使用コンテキスト: ${containerDetail.usageContext?.join(', ') || 'N/A'}`); console.log(` ドメイン名: ${containerDetail.domainName?.join(', ') || 'N/A'}`); console.log(` タイムゾーン: ${containerDetail.timeZoneId || 'N/A'}`); console.log(` パス: ${containerDetail.path || 'N/A'}\n`); // ワークスペース一覧を取得 console.log('3. ワークスペース一覧を取得中...'); const workspaces = await gtmClient.listWorkspaces(account.accountId, container.containerId); console.log(`✓ ${workspaces.length}件のワークスペースが見つかりました\n`); if (workspaces.length === 0) { console.log('ワークスペースが見つかりません。'); return; } const workspace = workspaces[0]; console.log(`使用ワークスペース: ${workspace.name} (ID: ${workspace.workspaceId})\n`); // ワークスペースの詳細を取得 console.log('4. ワークスペースの詳細情報を取得中...'); const workspaceDetail = await gtmClient.getWorkspace(account.accountId, container.containerId, workspace.workspaceId); console.log('✓ ワークスペースの詳細情報を取得しました\n'); console.log('ワークスペース詳細:'); console.log(` 名前: ${workspaceDetail.name}`); console.log(` ID: ${workspaceDetail.workspaceId}`); console.log(` 説明: ${workspaceDetail.description || 'N/A'}`); console.log(` パス: ${workspaceDetail.path || 'N/A'}\n`); // タグ一覧を取得 console.log('5. タグ一覧を取得中...'); const tags = await gtmClient.listTags(account.accountId, container.containerId, workspace.workspaceId); console.log(`✓ ${tags.length}件のタグが見つかりました\n`); if (tags.length > 0) { console.log('タグ一覧(最初の5件):'); tags.slice(0, 5).forEach((tag, index) => { console.log(` ${index + 1}. ${tag.name} (ID: ${tag.tagId}, タイプ: ${tag.type})`); }); if (tags.length > 5) { console.log(` ... 他 ${tags.length - 5}件`); } console.log(''); } // トリガー一覧を取得 console.log('6. トリガー一覧を取得中...'); const triggers = await gtmClient.listTriggers(account.accountId, container.containerId, workspace.workspaceId); console.log(`✓ ${triggers.length}件のトリガーが見つかりました\n`); if (triggers.length > 0) { console.log('トリガー一覧(最初の5件):'); triggers.slice(0, 5).forEach((trigger, index) => { console.log(` ${index + 1}. ${trigger.name} (ID: ${trigger.triggerId}, タイプ: ${trigger.type})`); }); if (triggers.length > 5) { console.log(` ... 他 ${triggers.length - 5}件`); } console.log(''); } // 変数一覧を取得 console.log('7. 変数一覧を取得中...'); const variables = await gtmClient.listVariables(account.accountId, container.containerId, workspace.workspaceId); console.log(`✓ ${variables.length}件の変数が見つかりました\n`); if (variables.length > 0) { console.log('変数一覧(最初の5件):'); variables.slice(0, 5).forEach((variable, index) => { console.log(` ${index + 1}. ${variable.name} (ID: ${variable.variableId}, タイプ: ${variable.type})`); }); if (variables.length > 5) { console.log(` ... 他 ${variables.length - 5}件`); } console.log(''); } console.log('='.repeat(80)); console.log('\n✓ すべてのテストが成功しました!\n'); } catch (error) { console.error('\n✗ エラーが発生しました:'); console.error(error.message); if (error.stack) { console.error('\nスタックトレース:'); console.error(error.stack); } process.exit(1); } } testDetails();

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ambit1977/GTM-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server