나의 개발일지(김지헌)
노션 API 본문
https://developers.notion.com/
사이트 접속후 로그인한다 View my integrations 클릭 후 통합 API 만들기
만들고 나면 시크릿키 복사해둔다.
우리는 표를 기준으로 사용 할꺼기 때문에 표 페이지를 하나 만들어준다.
npm i @notionhq/client 설치
표의 정보를 찾아오는 방법 불러올 때 각 정보를 잘 확인 하고 생성할 때 사용하자(ex 타입들)
/* 순서
1. 노션 디벨롭에서 API키 발급
2. 페이지 작성(표로 만들었습니다.)
3. 우측 상단 점3개 클릭후 연결에 발급받은 API추가
*/
/* 노션 API키 */
const notionKey = process.env.NOTION_KEY
/* 노션 페이지 id
https://www.notion.so/노션페이지id(이거사용) ?v=이거아님=4 */
const notionDatabaseId = process.env.NOTION_DATABASE_KEY
const notion = new Client({ auth: notionKey })
async function getData(){
const {results} = await notion.databases.query({ database_id: notionDatabaseId })
console.log(results)
const resultsdata = results.map((x)=>{
const office = x.properties.회사명.title.map((x)=> x.plain_text).join("")
const name = x.properties.이름.rich_text.map((x)=>x.plain_text).join("")
const phone = x.properties.연락처.rich_text.map((x)=>x.plain_text).join("")
const content = x.properties.문의내용.rich_text.map((x)=>x.plain_text).join("")
const createdAt = x.properties.생성일시.created_time
return{
"회사명" : office,
"이름" : name,
"연락처" : phone,
"문의내용" : content,
"생성일시" : createdAt
}
})
console.log(resultsdata)
}
// console.log(getData())
//객체 선언 해둔거를 => 객체이름["키"]로 정보 찾기 가능
const page_values = {
"회사명": "값",
"이름": "값",
"연락처": "값",
"문의내용": "값",
//굳이 필요없음 "생성일시": "2023-03-10T02:56:00.000Z"
}
//값 넣는 코드
async function createData(){
await notion.pages.create({
"parent": { "database_id": notionDatabaseId },
"properties": {
"회사명": {
"title": [
{
"text": {
"content": page_values["회사명"]
}
}
]
},
"연락처": {
"rich_text": [
{
"text": {
"content": page_values["연락처"]
}
}
]
},
"이름": {
"type":"rich_text",
"rich_text": [
{
"text": {
"content": page_values["이름"]
}
}
]
},
"문의내용": {
"type":"rich_text",
"rich_text": [
{
"text": {
"content": page_values["문의내용"]
}
}
]
}
}
});
}
// console.log(createData())
title : 표의 제일 처음 구성 되는 타입이다
'공부' 카테고리의 다른 글
리눅스 명령어 및 EC2설정 NginX (0) | 2023.03.13 |
---|---|
공부 (0) | 2023.03.13 |
S3 버킷, Route53, CloudFront 연결해보기 + HTTPS통신 까지 (0) | 2023.03.07 |
Route 53 (0) | 2023.03.06 |
클라우드프론트(CloudFront) (0) | 2023.03.06 |