![Oracle Drags Its Feet in the JavaScript Trademark Dispute](https://cdn.sanity.io/images/cgdhsj6q/production/919c3b22c24f93884c548d60cbb338e819ff2435-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Oracle Drags Its Feet in the JavaScript Trademark Dispute
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
smartsheet
Advanced tools
This is a client SDK to simplify connecting to the Smartsheet API from Node.js applications.
The SDK supports Node.js versions 6.x or later.
To install this SDK, simply run the following command in a terminal window:
npm install smartsheet
The Smartsheet API documentation with corresponding SDK example code can be found here.
To call the API, you must have an access token, which looks something like this example: ll352u9jujauoqz4gstvsae05. You can find the access token in the Smartsheet UI at Account > Personal Settings > API Access.
The following is a brief sample using promises that shows you how to:
// Initialize the client
var client = require('smartsheet');
var smartsheet = client.createClient({
accessToken: 'll352u9jujauoqz4gstvsae05',
logLevel: 'info'
});
// The `smartsheet` variable now contains access to all of the APIs
// Set queryParameters for `include` and pagination
var options = {
queryParameters: {
include: "attachments",
includeAll: true
}
};
// List all sheets
smartsheet.sheets.listSheets(options)
.then(function (result) {
var sheetId = result.data[0].id; // Choose the first sheet
// Load one sheet
smartsheet.sheets.getSheet({id: sheetId})
.then(function(sheetInfo) {
console.log(sheetInfo);
})
.catch(function(error) {
console.log(error);
});
})
.catch(function(error) {
console.log(error);
});
Although the example above is using promises and the API documentation samples use promises, you could also access the APIs in this SDK by using callbacks.
// List all sheets using callbacks
smartsheet.sheets.listSheets({}, function(error, data) {
if (error) {
console.log(error);
} else {
console.log(data);
}
});
See the node-read-write-sheet project for a code example that shows how to call methods to read and write to a sheet using this SDK.
When creating the client object, pass an object with any of the following properties to tune its behavior.
maxRetryDurationSeconds
- The maximum time in seconds to retry intermittent errors. (Defaults to 15 seconds.)
logLevel
- Set to 'info'
to log each call and return value to the console.
This library leverages winston for logging.
Supported log levels are:
Level | What is logged |
---|---|
'error' | Failures only |
'warn' | Failures and retries |
'info' | Each call URL and response code |
'verbose' | Payloads, truncated to 1024 characters |
'debug' | Full payloads |
'silly' | Full payloads and HTTP headers |
You may create your own winston container or configure the default winston.loggers
container, adding a logger named 'smartsheet'. Specify this container using the configuration option loggerContainer
. (winston documentation on configuring loggers.)
If you want to use your own logger, pass a logger object as the configuration option logger
that implements the following methods:
silly
, verbose
, debug
, info
, warn
, error
- Standard logging methodslog
- Similar to the above, but accepting the logging level string as its initial parameter; the log level is guaranteed be one of the above options.For additional customization, you can specify a calcRetryBackoff
function. This function is called with two arguments:
The function must return the number of milliseconds to wait before making the subsequent retry call, or a negative number if no more retries should be made.
The default implementation performs exponential backoff with jitter.
The source code comes with several scripts for running tests:
Script | Action |
---|---|
npm run test | Runs all tests. Note, the mock API tests will fail unless the mock server is running |
npm run test-functional | Runs only functional tests |
npm run test-mock-api | Runs only mock API tests. Clone the Smartsheet SDK tests repo and follow the instructions from the README to start the mock server |
npm run coverage | Runs functional tests and reports on code coverage |
gulp jshint | Runs JSHint against the codebase |
gulp [watch] | Watches the codebase and runs JSHint whenever changes are made |
If you would like to contribute a change to the SDK, please fork a branch and then submit a pull request. More info here.
If you have any questions or issues with this SDK please post on Stack Overflow using the tag "smartsheet-api" or contact us directly at api@smartsheet.com.
Each specific release is available documented here: GitHub
1.4.1 - December 7, 2018
minimatch
dev dependency.cryptiles
dependency package lock.gulp
and gulp-jshint
dev dependencies to resolve lower-level npm audit findings.FAQs
Smartsheet JavaScript client SDK
The npm package smartsheet receives a total of 11,376 weekly downloads. As such, smartsheet popularity was classified as popular.
We found that smartsheet demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.