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();