|
|
#!/usr/bin/env node |
|
|
|
|
|
import { config } from 'dotenv'; |
|
|
import { Client } from '@notionhq/client'; |
|
|
|
|
|
|
|
|
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(); |
|
|
|