@seekshinedev/lark-node
v1.0.0
Published
A JavaScript SDK for interacting with Lark Bitable APIs.
Downloads
19
Readme
@seekshinedev/lark-node
A JavaScript SDK for interacting with Lark Bitable APIs. This package provides a set of utility functions for managing tables, records, and fields within your Lark/Feishu applications.
Installation
To install the package, use npm:
npm install @seekshinedev/lark-nodeUsage
Basic Usage
Here is a simple example of how to use the SDK:
const { fetchRecords } = require('@seekshinedev/lark-node');
// Fetch records from a specific table
async function getRecords() {
const records = await fetchRecords('your_base_id', 'your_table_name');
console.log(records);
}
// Fetch records as a Map with custom key
async function getRecordsAsMap() {
const records = await fetchRecords('your_base_id', 'Products', {
asMap: true,
mapKeyField: 'Product ID',
fieldsOnly: true
});
console.log(records);
}
getRecords();
```### Advanced Usage
For more complex use cases, you can refer to the examples provided in the `examples` directory.
## API Reference
### Authentication
- `getTenantAccessToken()`: Fetches the tenant access token required for Lark API calls (handled automatically by other functions).
### Tables
- `getTableId(tenantAccessToken, tableName, baseId)`: Retrieves the ID of a specified table.
- `getViewId(tenantAccessToken, tableName, viewName, baseId)`: Retrieves the ID of a specified view.
- `getTableRecords(tenantAccessToken, tableId, baseId, options)`: Fetches records from a table with pagination support.
- `fetchRecords(baseId, tableName, options)`: High-level function to fetch records with automatic pagination. Options: `viewName`, `asMap`, `mapKeyField`, `fieldsOnly`.
### Records
- `createRecord(baseId, tableName, fields)`: Creates a new record in a specified table.
- `updateRecord(baseId, tableName, recordId, fields)`: Updates a record in a specified table.
- `deleteRecord(baseId, tableName, recordId)`: Deletes a record from a specified table.
### Fields
- `getFieldOptions(tenantAccessToken, baseId, tableName, fieldName)`: Retrieves options for a specific field.
- `getTableFieldOptions(baseId, tableName)`: Retrieves all field options for a table.
## Contributing
Contributions are welcome! Please feel free to submit a pull request or open an issue for any enhancements or bug fixes.
## License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for more details.