File size: 3,261 Bytes
e903a32 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
#!/usr/bin/env node
import { config } from 'dotenv';
import { Client } from '@notionhq/client';
// Load environment variables from .env file
config();
const notion = new Client({
auth: process.env.NOTION_TOKEN,
});
async function debugPageProperties() {
const pageId = '27877f1c9c9d804d9c82f7b3905578ff';
try {
console.log('π Debugging page properties...');
console.log(`π Page ID: ${pageId}`);
const page = await notion.pages.retrieve({ page_id: pageId });
console.log('\nπ Available properties:');
console.log('========================');
for (const [key, value] of Object.entries(page.properties)) {
console.log(`\nπΉ ${key}:`);
console.log(` Type: ${value.type}`);
switch (value.type) {
case 'title':
console.log(` Value: "${value.title.map(t => t.plain_text).join('')}"`);
break;
case 'rich_text':
console.log(` Value: "${value.rich_text.map(t => t.plain_text).join('')}"`);
break;
case 'people':
console.log(` People: ${value.people.map(p => p.name || p.id).join(', ')}`);
break;
case 'select':
console.log(` Value: ${value.select?.name || 'null'}`);
break;
case 'multi_select':
console.log(` Values: [${value.multi_select.map(s => s.name).join(', ')}]`);
break;
case 'date':
console.log(` Value: ${value.date?.start || 'null'}`);
break;
case 'checkbox':
console.log(` Value: ${value.checkbox}`);
break;
case 'url':
console.log(` Value: ${value.url || 'null'}`);
break;
case 'email':
console.log(` Value: ${value.email || 'null'}`);
break;
case 'phone_number':
console.log(` Value: ${value.phone_number || 'null'}`);
break;
case 'number':
console.log(` Value: ${value.number || 'null'}`);
break;
case 'created_time':
console.log(` Value: ${value.created_time}`);
break;
case 'created_by':
console.log(` Value: ${value.created_by?.id || 'null'}`);
break;
case 'last_edited_time':
console.log(` Value: ${value.last_edited_time}`);
break;
case 'last_edited_by':
console.log(` Value: ${value.last_edited_by?.id || 'null'}`);
break;
default:
console.log(` Value: ${JSON.stringify(value, null, 2)}`);
}
}
console.log('\nβ
Properties debug completed!');
} catch (error) {
console.error('β Error:', error.message);
}
}
debugPageProperties();
|