Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

asana

Package Overview
Dependencies
Maintainers
3
Versions
91
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

asana

This is the interface for interacting with the [Asana Platform](https://developers.asana.com)

  • 0.0.1
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
91K
increased by9.13%
Maintainers
3
Weekly downloads
 
Created
Source

asana

Asana - JavaScript client for asana This is the interface for interacting with the Asana Platform

This SDK is automatically generated by the OpenAPI Generator project:

  • API version: 1.0.0
  • Package version: 0.0.1
  • Build package: org.openapitools.codegen.languages.JavascriptClientCodegen For more information, please visit https://asana.com/support

Installation

For Node.js

npm

To publish the library as a npm, please follow the procedure in "Publishing npm packages".

Then install it via:

npm install asana --save

Finally, you need to build the module:

npm run build
Local development

To use the library locally without publishing to a remote npm registry, first install the dependencies by changing into the directory containing package.json (and this README). Let's call this JAVASCRIPT_CLIENT_DIR. Then run:

npm install

Next, link it globally in npm with the following, also from JAVASCRIPT_CLIENT_DIR:

npm link

To use the link you just defined in your project, switch to the directory you want to use your asana from, and run:

npm link /path/to/<JAVASCRIPT_CLIENT_DIR>

Finally, you need to build the module:

npm run build
git

If the library is hosted at a git repository, e.g.https://github.com/GIT_USER_ID/GIT_REPO_ID then install it via:

    npm install GIT_USER_ID/GIT_REPO_ID --save

For browser

The library also works in the browser environment via npm and browserify. After following the above steps with Node.js and installing browserify with npm install -g browserify, perform the following (assuming main.js is your entry file):

browserify main.js > bundle.js

Then include bundle.js in the HTML pages.

Webpack Configuration

Using Webpack you may encounter the following error: "Module not found: Error: Cannot resolve module", most certainly you should disable AMD loader. Add/merge the following section to your webpack config:

module: {
  rules: [
    {
      parser: {
        amd: false
      }
    }
  ]
}

Getting Started

Please follow the installation instruction and execute the following JS code:

var Asana = require('asana');

var defaultClient = Asana.ApiClient.instance;
// Configure OAuth2 access token for authorization: oauth2
var oauth2 = defaultClient.authentications['oauth2'];
oauth2.accessToken = "YOUR ACCESS TOKEN"
// Configure Bearer access token for authorization: personal_access_token
var personal_access_token = defaultClient.authentications['personal_access_token'];
personal_access_token.accessToken = "YOUR ACCESS TOKEN"

var api = new Asana.AttachmentApi()
var opts = {
  'optFields': ["name","parent"], // {[String]} Defines fields to return. Some requests return *compact* representations of objects in order to conserve resources and complete the request more efficiently. Other times requests return more information than you may need. This option allows you to list the exact set of fields that the API should be sure to return for the objects. The field names should be provided as paths, described below. The id of included objects will always be returned, regardless of the field options.
  'optPretty': true, // {Boolean} Provides “pretty” output. Provides the response in a “pretty” format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging.
  'resourceSubtype': "resourceSubtype_example", // {String} The type of the attachment. Must be one of the given values. If not specified, a file attachment of type `asana` will be assumed. Note that if the value of `resource_subtype` is `external`, a `parent`, `name`, and `url` must also be provided. 
  'file': "/path/to/file", // {File} Required for `asana` attachments. 
  'parent': "parent_example", // {String} Required identifier of the parent task, project, or project_brief, as a string. 
  'url': "url_example", // {String} The URL of the external resource being attached. Required for attachments of type `external`. 
  'name': "name_example", // {String} The name of the external resource being attached. Required for attachments of type `external`. 
  'connectToApp': true // {Boolean} *Optional*. Only relevant for external attachments with a parent task. A boolean indicating whether the current app should be connected with the attachment for the purposes of showing an app components widget. Requires the app to have been added to a project the parent task is in. 
};
var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
};
api.uploadAttachment(opts, callback);

Documentation for API Endpoints

All URIs are relative to https://app.asana.com/api/1.0

ClassMethodHTTP requestDescription
Asana.AttachmentApiuploadAttachmentPOST /attachmentsUpload an attachment

Documentation for Models

Documentation for Authorization

oauth2

  • Type: OAuth
  • Flow: accessCode
  • Authorization URL: https://app.asana.com/-/oauth_authorize
  • Scopes:
    • default: Provides access to all endpoints documented in our API reference. If no scopes are requested, this scope is assumed by default.
    • openid: Provides access to OpenID Connect ID tokens and the OpenID Connect user info endpoint.
    • email: Provides access to the user’s email through the OpenID Connect user info endpoint.
    • profile: Provides access to the user’s name and profile photo through the OpenID Connect user info endpoint.

personal_access_token

  • Type: Bearer authentication

FAQs

Package last updated on 21 Mar 2023

Did you know?

Socket

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc