# Simple Notion Easy to use library to read Notion DataBase using the NotionAPI. # Disclaimer Please note that this library is not officially supported by the Notion team. ## Features - [X] Read Data-Base ## Getting Started ### API Client To start you need to get access to the API using the NotionClient. ```rust let mut client = crate::client::NotionClient::default(); // Added the full URL of the database page: client.set_url("https://www.notion.so/user-name/data-base-id?v=other"); // And you need to pass your integration token client.set_token("integration-token"); ``` ### Get the DataBase Now you have the access, and need to download the data-base. ```rust // Get the Raw Json data-base let data_base = client.get_table_sync().unwrap(); ``` ### Parse the data-base You will convert each element to an enum named DataType. To do it you need the NotionResponseParser ```rust // Take the data_base as input let parser = crate::parser::NotionResponseParser::new(data_base); ``` ### Let's simplify Now you have have the data-base and the parser. So you can create a NotionDataBase. ```rust let data_table = crate::notion_data_base::NotionDataBase::new(parser.parse_table()); ``` ### Access an element Great! You have done the setup, let's use it. ```rust // Getting the element. let element = parser.parse_element(data_table.get(&parser, "MyLineTitle", "MyColumnName").unwrap().1); // Priting the result println!("My Element: {:?}", element); ``` ### Some other useful functions ```rust // Get the Vec of all lines titles data_table.get_line_list(&parser); // Get the Vec of all columns names data_table.get_column_list(&parser); // Parse the full data-base to a Vec> data_table.get_all(&parser) ```