I'm using Zoho CRM Nodejs SDK zcrmsdk
to get all users.
const {
OAuthToken,
TokenType
} = require('zcrmsdk/models/authenticator/oauth_token');
let token = new OAuthToken(
'1000.XXXX',
'4eXXXX',
'GRANT',
TokenType.GRANT,
'https://www.google.com/'
);
// User's TOKEN Store
const FileStore = require('zcrmsdk/models/authenticator/store/file_store')
.FileStore;
let tokenstore = new FileStore(
'/mnt/c/Users/Shadab/Repositories/ZOHO_CRM/nodejs_sdk_tokens.txt'
);
const SDKConfigBuilder = require('zcrmsdk/routes/sdk_config_builder')
.MasterModel;
let sdkConfig = new SDKConfigBuilder()
.setPickListValidation(false)
.setAutoRefreshFields(true)
.build();
let resourcePath = '/mnt/c/Users/Shadab/Repositories/ZOHO_CRM/';
// PROXY
const RequestProxy = require('zcrmsdk/routes/request_proxy').RequestProxy;
let requestProxy = new RequestProxy(
'proxyHost',
80,
'proxyUser',
'password'
);
console.log('user', crmclient.API);
let zoho = await crmclient.Initializer.initialize(
user,
environment,
token,
tokenstore,
sdkConfig,
resourcePath,
logger
);
console.log(await new UsersOperations().getUsers());
but i'm getting invalid_code errror. It is happening when sdk internally calls generateAccessToken
function.
url: https://accounts.zoho.com/oauth/v2/token,
formdata: {
method: 'POST',
headers: {},
body: FormData {
_overheadLength: 543,
_valueLength: 188,
_valuesToMeasure: [],
writable: false,
readable: true,
dataSize: 0,
maxDataSize: 2097152,
pauseStreams: true,
_released: false,
_streams: [
'----------------------------520556686822378093129396\r\n' +
'Content-Disposition: form-data; name="grant_type"\r\n' +
'\r\n',
'authorization_code',
[Function: bound ],
'----------------------------520556686822378093129396\r\n' +
'Content-Disposition: form-data; name="client_id"\r\n' +
'\r\n',
'1000XXX',
[Function: bound ],
'----------------------------520556686822378093129396\r\n' +
'Content-Disposition: form-data; name="client_secret"\r\n' +
'\r\n',
'4e1XXX',
[Function: bound ],
'----------------------------520556686822378093129396\r\n' +
'Content-Disposition: form-data; name="redirect_uri"\r\n' +
'\r\n',
'https://www.google.com/',
[Function: bound ],
'----------------------------520556686822378093129396\r\n' +
'Content-Disposition: form-data; name="code"\r\n' +
'\r\n',
'GRANT',
[Function: bound ]
],
_currentStream: null,
_insideLoop: false,
_pendingNext: false,
_boundary: '--------------------------520556686822378093129396'
},
encoding: 'utf8',
allowGetBody: true,
throwHttpErrors: false
}
The Client id and secret key is from the Server Based Application
. I'm running this from my local machine.