UNPKG

googleapis

Version:
212 lines (211 loc) 7.38 kB
/** * Copyright 2015 Google Inc. All Rights Reserved. * * 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. */ import { AxiosPromise } from 'axios'; import { GoogleApis } from '../..'; import { BodyResponseCallback, GlobalOptions, MethodOptions } from '../../lib/api'; /** * URL Shortener API * * Lets you create, inspect, and manage goo.gl short URLs * * @example * const google = require('googleapis'); * const urlshortener = google.urlshortener('v1'); * * @namespace urlshortener * @type {Function} * @version v1 * @variation v1 * @param {object=} options Options for Urlshortener */ export declare class Urlshortener { _options: GlobalOptions; google: GoogleApis; root: this; url: Resource$Url; constructor(options: GlobalOptions, google: GoogleApis); getRoot(): this; } export interface Schema$AnalyticsSnapshot { /** * Top browsers, e.g. &quot;Chrome&quot;; sorted by (descending) click counts. * Only present if this data is available. */ browsers: Schema$StringCount[]; /** * Top countries (expressed as country codes), e.g. &quot;US&quot; or * &quot;DE&quot;; sorted by (descending) click counts. Only present if this * data is available. */ countries: Schema$StringCount[]; /** * Number of clicks on all goo.gl short URLs pointing to this long URL. */ longUrlClicks: string; /** * Top platforms or OSes, e.g. &quot;Windows&quot;; sorted by (descending) * click counts. Only present if this data is available. */ platforms: Schema$StringCount[]; /** * Top referring hosts, e.g. &quot;www.google.com&quot;; sorted by * (descending) click counts. Only present if this data is available. */ referrers: Schema$StringCount[]; /** * Number of clicks on this short URL. */ shortUrlClicks: string; } export interface Schema$AnalyticsSummary { /** * Click analytics over all time. */ allTime: Schema$AnalyticsSnapshot; /** * Click analytics over the last day. */ day: Schema$AnalyticsSnapshot; /** * Click analytics over the last month. */ month: Schema$AnalyticsSnapshot; /** * Click analytics over the last two hours. */ twoHours: Schema$AnalyticsSnapshot; /** * Click analytics over the last week. */ week: Schema$AnalyticsSnapshot; } export interface Schema$StringCount { /** * Number of clicks for this top entry, e.g. for this particular country or * browser. */ count: string; /** * Label assigned to this top entry, e.g. &quot;US&quot; or * &quot;Chrome&quot;. */ id: string; } export interface Schema$Url { /** * A summary of the click analytics for the short and long URL. Might not be * present if not requested or currently unavailable. */ analytics: Schema$AnalyticsSummary; /** * Time the short URL was created; ISO 8601 representation using the * yyyy-MM-dd&#39;T&#39;HH:mm:ss.SSSZZ format, e.g. * &quot;2010-10-14T19:01:24.944+00:00&quot;. */ created: string; /** * Short URL, e.g. &quot;http://goo.gl/l6MS&quot;. */ id: string; /** * The fixed string &quot;urlshortener#url&quot;. */ kind: string; /** * Long URL, e.g. &quot;http://www.google.com/&quot;. Might not be present if * the status is &quot;REMOVED&quot;. */ longUrl: string; /** * Status of the target URL. Possible values: &quot;OK&quot;, * &quot;MALWARE&quot;, &quot;PHISHING&quot;, or &quot;REMOVED&quot;. A URL * might be marked &quot;REMOVED&quot; if it was flagged as spam, for example. */ status: string; } export interface Schema$UrlHistory { /** * A list of URL resources. */ items: Schema$Url[]; /** * Number of items returned with each full &quot;page&quot; of results. Note * that the last page could have fewer items than the &quot;itemsPerPage&quot; * value. */ itemsPerPage: number; /** * The fixed string &quot;urlshortener#urlHistory&quot;. */ kind: string; /** * A token to provide to get the next page of results. */ nextPageToken: string; /** * Total number of short URLs associated with this user (may be approximate). */ totalItems: number; } export declare class Resource$Url { root: Urlshortener; constructor(root: Urlshortener); getRoot(): Urlshortener; /** * urlshortener.url.get * @desc Expands a short URL or gets creation time and analytics. * @alias urlshortener.url.get * @memberOf! () * * @param {object} params Parameters for request * @param {string=} params.projection Additional information to return. * @param {string} params.shortUrl The short URL, including the protocol. * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. * @param {callback} callback The callback that handles the response. * @return {object} Request object */ get(params?: any, options?: MethodOptions): AxiosPromise<Schema$Url>; get(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$Url>, callback?: BodyResponseCallback<Schema$Url>): void; /** * urlshortener.url.insert * @desc Creates a new short URL. * @alias urlshortener.url.insert * @memberOf! () * * @param {object} params Parameters for request * @param {().Url} params.resource Request body data * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. * @param {callback} callback The callback that handles the response. * @return {object} Request object */ insert(params?: any, options?: MethodOptions): AxiosPromise<Schema$Url>; insert(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$Url>, callback?: BodyResponseCallback<Schema$Url>): void; /** * urlshortener.url.list * @desc Retrieves a list of URLs shortened by a user. * @alias urlshortener.url.list * @memberOf! () * * @param {object=} params Parameters for request * @param {string=} params.projection Additional information to return. * @param {string=} params.start-token Token for requesting successive pages of results. * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. * @param {callback} callback The callback that handles the response. * @return {object} Request object */ list(params?: any, options?: MethodOptions): AxiosPromise<Schema$UrlHistory>; list(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$UrlHistory>, callback?: BodyResponseCallback<Schema$UrlHistory>): void; }