@esri/telemetry-reporting-client
v3.2.4
Published
[![npm version][npm-img]][npm-url] [![build status][build-img]][build-url] [![apache licensed][license-img]][license-url]
Downloads
430
Maintainers
Keywords
Readme
Telemetry Reporting Client
Library for interfacing with the Telemetry Reporting Service.
Installation
yarn add @esri/telemetry-reporting-client
Example Usage
getTelemetryReport
import { getTelemetryReport } from '@esri/telemetry-reporting-client';
const requestParams = {
scope: {
hostname: 'hostname',
},
dateRange: {
startDate: '2019-01-01',
endDate: '2019-01-31',
},
metrics: ['page-views:count'],
};
const requestOptions = {
httpMethod: 'POST',
params: {},
authentication: {
token: 'token',
},
hubApiUrl: 'https://hubqa.arcgis.com',
customDimensionsConfig: {
details: 1,
userType: 2,
id: 16,
},
};
const report = getTelemetryReport(requestParams, requestOptions)
.then((response) => {
data = response.data;
})
.catch((error) => {
// Handle error
});
buildSimpleDimensionFilters
import { buildSimpleDimensionFilters } from '@esri/telemetry-reporting-client';
const event = {
category: 'Interaction',
action: 'Download',
label: 'Cache',
};
const dimensionFilters = buildSimpleDimensionFilters(event);
isAuthorized
import { isAuthorized } from '@esri/telemetry-reporting-client';
const result = isAuthorized({
itemId: '3ef',
hostname: 'hubqa.arcgis.com',
agoPortalUrl: 'https://qaext.arcgis.com/sharing/rest',
hubApiUrl: 'https://hubqa.arcgis.com',
token: 'token'
})
.then((response) => {
return response;
})
.catch((error) => {
// Handle error
});
If you have already fetch the AGO user, you can make this call more perfomant by passing in the user (thus avoiding have to fetch it again) :
import { isAuthorized } from '@esri/telemetry-reporting-client';
import { UserSession } from '@esri/arcgis-rest-auth';
const userSession = new UserSession({
token: token,
});
const user = await userSession.getUser();
const result = isAuthorized({
itemId: '3ef',
hostname: 'hubqa.arcgis.com',
agoPortalUrl: 'https://qaext.arcgis.com/sharing/rest',
hubApiUrl: 'https://hubqa.arcgis.com',
user,
token: 'token'
})
.then((response) => {
return response;
})
.catch((error) => {
// Handle error
});
Note that the token is still required in order to fetch the target item (if it is private).
Commands
yarn start
: This builds to/dist
and runs the project in watch mode so any edits you save insidesrc
rebuilds to/dist
.yarn build
: One-off build to the/dist
yarn test
: Runs the full test suite.yarn test:watch
: Runs the full test suite in watch mode so any edits you make will re-run the tests.
Contributing
Esri welcomes contributions from anyone and everyone. Please see our guidelines for contributing.
License
Copyright © 2022 Esri
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
A copy of the license is available in the repository's LICENSE file.